C++ on its way to exascale and beyond
summary
C++ adds concrete parallel tools: the HPX runtime implements futures, executors and an active global address space and runs hundreds of millions of user threads; a NUMA allocator plus executor-bound parallel algorithms place data and work per domain, saturating a memory controller at ~6 cores and capping cores to save energy; benchmarks show stream-style bandwidth close to tuned OpenMP while a tiled matrix transposition outperforms OpenMP by ~30%, so the approach works but task-spawn hierarchy and tuning still cost performance.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:40What is exascale
- 2:20Why exascale
- 8:03Challenges
- 13:12Current contenders
- 16:58Parallelization
- 17:50Four horsemen
- 20:44Current state of the art
- 24:17HPX
- 27:58Parallelism
- 33:44Task Policy
- 35:34Execution Parameters
- 36:45SexP
- 38:04Irregular algorithm
- 40:30How it works
- 44:24Benchmarks
- 48:44Synchronous control flow
- 51:52Dataflow extension
- 56:13Whats beyond
related talks
01h 06mAsynchronous Computation in C++
01h 02mHPX - A C++ Library for Parallelism and Concurrency
01h 02mOverview of Parallel Programming in C++
01h 16mPaying for Lunch: C++ in the ManyCore Age
01h 07mAnother fundamental shift in Parallelism Paradigm?
01h 02mC++ Performance Portability - A Decade of Lessons Learned
37mC++ for multi-accelerator, multi-vendor systems
05mFast Parallel Programming using Modern C++
