John Biddiscombe
Loading...
Last Name
Biddiscombe
First Name
John
ORCID
Organisational unit
06086 - CSCS Scientific Computing / CSCS Scientific Computing
1 results
Filters
Reset filtersSearch Results
Publications1 - 1 of 1
- On the integration of lightweight tasks with MPI using the C++26 std::execution ‘Senders’ APIItem type: Conference Paper
SC Workshops '25: Proceedings of the SC '25 Workshops of the International Conference for High Performance Computing, Networking, Storage and AnalysisBiddiscombe, John; Simberg, Mikael; Reverdell, Auriane; et al. (2025)Integrating asynchronous MPI messaging with tasking runtimes requires careful handling of request polling and dispatching of associated completions to participating threads. The new C++26 Senders (std::execution) library offers a flexible collection of interfaces and templates for schedulers, algorithms and adaptors to work with asynchronous functions-and it makes explicit the mechanism to transfer execution from one context to another-essential for high performance. We have implemented the major features of the Senders API in the pika tasking runtime and used them to wrap asynchronous MPI calls such that messaging operations become nodes in the execution graph with the same calling semantics as other operations. The API allows us to easily experiment with different methods of message scheduling and dispatching completions. We present insights from our implementation on how application performance is affected by design choices surrounding the placement, scheduling and execution of polling and completion tasks using Senders.
Publications1 - 1 of 1