pSTL-Bench:评估C++并行STL实现可扩展性的微基准测试套件
pSTL-Bench: A Micro-Benchmark Suite for Assessing Scalability of C++ Parallel STL Implementations
AI总结:
提出pSTL-Bench微基准测试套件,用于评估C++并行STL实现的可扩展性,并在多核CPU和GPU上对比多种实现,发现显著性能差异。
摘要:
自C++17标准模板库(STL)引入并行算法以来,STL已成为创建性能可移植应用程序的可行框架。鉴于存在多种并行算法实现,系统性的定量性能比较对于针对特定硬件配置选择合适的实现至关重要。在本工作中,我们引入了一套专门的微基准测试来评估STL中并行算法的可扩展性。通过选择不同的后端,我们的微基准测试可用于多核系统和GPU。利用该套件,在AMD和Intel CPU以及NVIDIA GPU上的案例研究中,我们识别出了不同实现之间显著的性能差异,包括GCC+TBB、GCC+HPX、Intel编译器搭配TBB,以及NVIDIA编译器搭配OpenMP和CUDA。
英文摘要:
Since the advent of parallel algorithms in the C++17 Standard Template Library (STL), the STL has become a viable framework for creating performance-portable applications. Given multiple existing implementations of the parallel algorithms, a systematic, quantitative performance comparison is essential for choosing the appropriate implementation for a particular hardware configuration. In this work, we introduce a specialized set of micro-benchmarks to assess the scalability of the parallel algorithms in the STL. By selecting different backends, our micro-benchmarks can be used on multi-core systems and GPUs. Using the suite, in a case study on AMD and Intel CPUs and NVIDIA GPUs, we were able to identify substantial performance disparities among different implementations, including GCC+TBB, GCC+HPX, Intel's compiler with TBB, or NVIDIA's compiler with OpenMP and CUDA.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。