Asynchronous Programming in Modern C++
summary
A C++ library called HPX implements an asynchronous task model using Standard-like futures, work‑stealing scheduling and co_await futures so functions return dependency trees instead of blocking; examples convert quicksort and an adaptive double‑white‑dwarf simulation into fully asynchronous code. The runtime exposes channels for distributed boundary exchange, integrates GPU kernel launches as futures, and limits tree growth. Measured results show about a 33% runtime reduction from reduced idle cores and up to a 3× speedup versus MPI+libfabric DMA on Piz Daint at 5,500 nodes.
AI-written summary · about
chapters (7)
- 0:00Introduction and motivation
- 12:01Problems in parallelism today
- 21:40Goals for parallel programming
- 33:24Async programming with C++20
- 43:05Futureization technique
- 51:22Summary and future outlook
- 51:43Q&A session
related talks
01h 02m“Parallelism in Modern C++"
56mParallelizing the C++ Standard Template Library
55mElegant Asynchronous Code
01h 01mExecutors for C++ - A Long Story ...
01h 13mConcurrency Hylomorphism
29mComparative Asynchronous Programming
47mConcurrent Programming in C++
20mIt's Critical: Concurrent programming as a sane programming model
