A C++20 Interface for MPI 4.0

Ali Can Demiralp,Philipp Martin,Niko Sakic,Marcel Krüger,Tim Gerrits
2023-06-21
Abstract:We present a modern C++20 interface for MPI 4.0. The interface utilizes recent language features to ease development of MPI applications. An aggregate reflection system enables generation of MPI data types from user-defined classes automatically. Immediate and persistent operations are mapped to futures, which can be chained to describe sequential asynchronous operations and task graphs in a concise way. This work introduces the prominent features of the interface with examples. We further measure its performance overhead with respect to the raw C interface.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?