A C++20 Interface for MPI 4.0

06/20/2023
by   Ali Can Demiralp, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

research
12/22/2021

Callback-based Completion Notification using MPI Continuations

Asynchronous programming models (APM) are gaining more and more traction...
research
09/25/2019

Extending the Message Passing Interface (MPI) with User-Level Schedules

Composability is one of seven reasons for the long-standing and continui...
research
08/22/2023

MPI Application Binary Interface Standardization

MPI is the most widely used interface for high-performance computing (HP...
research
11/12/2020

Fibers are not (P)Threads: The Case for Loose Coupling of Asynchronous Programming Models and MPI Through Continuations

Asynchronous programming models (APM) are gaining more and more traction...
research
07/22/2021

MPIs Language Bindings are Holding MPI Back

Over the past two decades, C++ has been adopted as a major HPC language ...
research
05/27/2021

Measuring OpenSHMEM Communication Routines with SKaMPI-OpenSHMEM User's manual

This document presents the OpenSHMEM extension for the Special Karlsruhe...
research
06/03/2018

Alchemist: An Apache Spark <=> MPI Interface

The Apache Spark framework for distributed computation is popular in the...

Please sign up or login with your details

Forgot password? Click here to reset