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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Performance Analysis of C++ Parallel Algorithms in HPX

Civil War Book Review
Plasma Diagnostics and Applications
article

Performance Analysis of C++ Parallel Algorithms in HPX

article en

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.

Civil War Book Review
Industry, innovation and infrastructure
Openalex Percentile: Top 63%
Plasma Diagnostics and Applications
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.