Skip to main navigation Skip to search Skip to main content

On the integration of lightweight tasks with MPI using the C++26 std::execution ‘Senders’ API

  • John Biddiscombe
  • , Mikael Simberg
  • , Auriane Reverdell
  • , Raffaele Solcà
  • , Alberto Invernizzi
  • , Rocco Meli
  • , Joseph Schuchart
  • Swiss Federal Institute of Technology Zurich

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publicationProceedings of 2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops
PublisherAssociation for Computing Machinery, Inc
Pages489-499
Number of pages11
ISBN (Electronic)9798400718717
DOIs
StatePublished - Nov 15 2025
Event2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops - St. Louis, United States
Duration: Nov 16 2025Nov 21 2025

Publication series

NameProceedings of 2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops

Conference

Conference2025 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, SC 2025 Workshops
Country/TerritoryUnited States
CitySt. Louis
Period11/16/2511/21/25

Keywords

  • Asynchronous
  • C++
  • MPI
  • Runtime
  • Senders
  • Task
  • Thread Pool

Fingerprint

Dive into the research topics of 'On the integration of lightweight tasks with MPI using the C++26 std::execution ‘Senders’ API'. Together they form a unique fingerprint.

Cite this