MPI Application Binary Interface Standardization
Jeff R. Hammond, Lisandro Dalcin, Erik Schnetter, Marc P\'erache,, Jean-Baptiste Besnard, Jed Brown, Gonzalo Brito Gadeschi, Joseph Schuchart,, Simon Byrne, Hui Zhou

TL;DR
This paper discusses the development of a standardized Application Binary Interface (ABI) for MPI to enhance compatibility and interoperability across different HPC architectures, building on MPI's history of backward compatibility.
Contribution
It reviews MPI ABI history, constraints, and recent efforts, proposing a standard ABI with prototypes and use cases to improve MPI's cross-platform compatibility.
Findings
Proposed a new MPI ABI standard
Developed prototypes within MPICH and Mukautuva
Identified key use cases and remaining constraints
Abstract
MPI is the most widely used interface for high-performance computing (HPC) workloads. Its success lies in its embrace of libraries and ability to evolve while maintaining backward compatibility for older codes, enabling them to run on new architectures for many years. In this paper, we propose a new level of MPI compatibility: a standard Application Binary Interface (ABI). We review the history of MPI implementation ABIs, identify the constraints from the MPI standard and ISO C, and summarize recent efforts to develop a standard ABI for MPI. We provide the current proposal from the MPI Forum's ABI working group, which has been prototyped both within MPICH and as an independent abstraction layer called Mukautuva. We also list several use cases that would benefit from the definition of an ABI while outlining the remaining constraints.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
