@inproceedings{af920bef363d4be4b9f48debe19f0fdf,
title = "On the integration of lightweight tasks with MPI using the C++26 std::execution {\textquoteleft}Senders{\textquoteright} API",
abstract = "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.",
keywords = "Asynchronous, C++, MPI, Runtime, Senders, Task, Thread Pool",
author = "John Biddiscombe and Mikael Simberg and Auriane Reverdell and Raffaele Solc{\`a} and Alberto Invernizzi and Rocco Meli and Joseph Schuchart",
note = "Publisher Copyright: {\textcopyright} 2025 Copyright held by the owner/author(s).; 2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops ; Conference date: 16-11-2025 Through 21-11-2025",
year = "2025",
month = nov,
day = "15",
doi = "10.1145/3731599.3767394",
language = "English",
series = "Proceedings of 2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops",
publisher = "Association for Computing Machinery, Inc",
pages = "489--499",
booktitle = "Proceedings of 2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops",
}