Performance Analysis of C++ Parallel Algorithms in HPX
The exponential growth in computational power and the increasing demand for high-performance applications have driven the need for greater parallel efficiency. Over the years, the number of cores in consumer-level CPUs and high-performance computing (HPC) systems has grown significantly. In response, numerous parallel programming li- braries have been developed. Each of these libraries offers unique mechanisms to enhance parallel performance. In this paper, we investigate the performance of five such paral- lel programming backends: C++ std::execution::par, OpenMP, TBB, Taskflow, and HPX. We evaluate these libraries using two sets of benchmarks. The first set focuses on standard C++ STL algorithms, including for_each, reduce, scan, and sort. The second set involves real-world mini-applications, such as Black-Scholes, Mandelbrot, LULESH, and miniBUDE. Our findings provide insights into how to further optimize HPX algo- rithms and how to fine-tune performance by adopting the best practices from various par- allel backends. This analysis helps us understand the relative performance of HPX among other libraries and suggests areas for future improvement.
Publication Details
- Journal
- Civil War Book Review
- Published
- 2024-10-31
- Primary Topic
- Plasma Diagnostics and Applications
- Type
- article
- Field-Weighted Citation Impact
- 0.00