21.1. Introduction

PreviousUpNext
Up: Application Binary Interface (ABI) Next: Implementation Requirements Previous: Application Binary Interface (ABI)

The other chapters of the MPI standard specify an Application Programming Interface (API) that defines (amongst other things) a set of opaque handle types and named constants without specifying their memory layout or values, respectively. This allows implementations to choose these according to different types of requirement. However, this flexibility means that different implementations are incompatible from the perspective of compiled applications, because the Application Binary Interface (ABI) is not specified.

This chapter defines an Application Binary Interface (ABI) for MPI, meaning that it specifies the memory layouts of all opaque handle types, the values of integer constants, and other aspects of MPI needed by use cases that require a defined ABI. This standard ABI for MPI exists in parallel with existing implementation ABIs, in order to preserve backwards-compatibility of existing MPI implementations.

A standard ABI for MPI serves many purposes, including support for applications compiled with one implementation of MPI to be executed with another implementation. It is also a necessary requirement for third-party languages that intend to interface with MPI through binary symbol names, rather than direct function calls to the C API. This chapter specifies the ABI of the C API of MPI as well as the implications of the ABI for Fortran implementations.


PreviousUpNext
Up: Application Binary Interface (ABI) Next: Implementation Requirements Previous: Application Binary Interface (ABI)


Return to MPI-5.0 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-5.0 of June 9, 2025
HTML Generated on March 2, 2025