MPI Application Binary Interface Standardization
Creators
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.
Copyright and License
© 2023 Owner/Author. This work is licensed under a Creative Commons Attribution International 4.0 License.
Acknowledgement
The authors are indebted to numerous people who contributed to the MPI ABI standardization effort, including, but not limited to, Brian Barrett, Jim Dinan, Dan Holmes, Julien Jaeger, Quincey Koziol, Ken Raffenetti, Jeff Squyres, and Bill Williams. Simon Cooksey was a valuable resource regarding the CHERI architecture, which exposes some of the sharper edges of the C standard regarding pointers and integer constants. Jeff thanks Tim Costa for encouraging him to work on ABI standardization in the first place. Jed's work was partially supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, applied mathematics program. Research at Perimeter Institute is supported in part by the Government of Canada through the Department of Innovation, Science and Economic Development and by the Province of Ontario through the Ministry of Colleges and Universities. This work was supported partly by the Exascale Computing Project (17- SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.
Files
3615318.3615319.pdf
Files
(607.2 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:a7c5bc638d34521a7f540ec174f9055d
|
607.2 kB | Preview Download |
Additional details
Funding
- United States Department of Energy
- 17- SC-20-SC
- Innovation, Science and Economic Development Canada
Dates
- Accepted
-
2023-09-11published print
- Accepted
-
2023-09-21published online