21.2.1. The MPI ABI Header File and Shared Library

PreviousUpNext
Up: Implementation Requirements Next: The C Application Binary Interface Previous: Implementation Requirements

The ABI must be implemented using a header named mpi.h. The MPI library that implements the standard ABI must be named mpi_abi. The filename for this library may have a platform-specific prefix and/or a platform-specific suffix. For Linux, for example, lib and .so would be the default prefix and suffix. Implementors are expected to follow platform-specific conventions for dynamic shared library naming and versioning. ABI-compliant implementations must not require more than mpi_abi or its versioned variant as the sole direct dependency of the application binary.


Advice to implementors.

If an implementation implements its own ABI definition, it must clearly document how users employ one or the other, such as the paths of the aforementioned files and any other options required for their correct use. ( End of advice to implementors.)
Applications must not mix different ABIs. If implementations provide both the standard ABI and an implementation-specific ABI, applications must compile and link against only one of these.

The API defined in mpi.h associated with the standard ABI does not include features of MPI deprecated in MPI-3.1 or earlier. A full list of deprecated features can be found in Table 1.


Rationale.

If deprecated features are included in the standard ABI, deleting them will cause a backwards-incompatibility issue in the ABI. Removing them from the ABI now makes it straightforward for them to be deleted from MPI in the future. ( End of rationale.)


PreviousUpNext
Up: Implementation Requirements Next: The C Application Binary Interface Previous: Implementation Requirements


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