English

pSTL-Bench: A Micro-Benchmark Suite for Assessing Scalability of C++ Parallel STL Implementations

Distributed, Parallel, and Cluster Computing 2024-02-12 v1 Performance Programming Languages

Abstract

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.

Keywords

Cite

@article{arxiv.2402.06384,
  title  = {pSTL-Bench: A Micro-Benchmark Suite for Assessing Scalability of C++ Parallel STL Implementations},
  author = {Ruben Laso and Diego Krupitza and Sascha Hunold},
  journal= {arXiv preprint arXiv:2402.06384},
  year   = {2024}
}

Comments

15 pages, 24 figures, 4 tables

R2 v1 2026-06-28T14:44:01.068Z