Work

Performance Analysis of C++ Parallel Algorithms in HPX

Year: 2024
Type: article
Abstract: 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.
Language: English
Open Access status: green
OpenAlex ID: W7051603070
FWCI:
Cites:
Cited by:
Related to: