“Parallelism in Modern C++"
summary
HPX implements a C++ runtime that reworks parallel algorithms around futures and dataflow, exposing execution policies and pluggable executors plus allocator/target abstractions for data placement. It adds async/task variants and a partition_vector for distributed/gpu-local segments. Measured overhead: ~800 ns for creating a lightweight thread; parallel algorithms hit ~95% of OpenMP and ~99% of native CUDA STREAM bandwidth; switching to a data-par policy yields up to 3× single-core speedup via SIMD vector packs.
AI-written summary · about
chapters (16)
- 0:00Intro
- 2:48HPX - A General Purpose Runtime System
- 9:42Concepts and Types of Parallelism
- 14:38What is a (the) future
- 23:50Rebind Execution Policies
- 24:34Execution Policies (HPX Extensions)
- 28:44Executors
- 31:10Executor Examples
- 32:04Executor Parameters (HPX Extension)
- 35:16Data Placement
- 39:44Execution Targets
- 46:27Extending Parallel Algorithms (await)
- 50:39STREAM Benchmark (CPU)
- 51:40STREAM Benchmark: HPX vs. OpenMP
- 52:57STREAM Benchmark (GPU)
- 54:08STREAM Benchmark: HPX vs. OpenCL








