Difference between revisions of "ABI Compatibility Initiative"
(Created page with "__TOC__ == Goals of the ABI Compatibility Initiative == The ABI compatibility initiative is an understanding between various MPICH derived MPI implementations to maintain ru...")
Revision as of 01:18, 1 April 2014
Goals of the ABI Compatibility Initiative
The ABI compatibility initiative is an understanding between various MPICH derived MPI implementations to maintain runtime compatibility between each other. That is, an application can be compiled with one of them and executed with another. The following partners are currently involved in the ABI compatibility initiative:
- MPICH (starting mpich-3.1)
- Intel MPI (starting Intel MPI 5.0)
- Cray MPI (start T.B.D.)
- IBM PE MPI (start T.B.D.)
ABI Compliance Requirements
In order to maintain ABI compliance, the members of the initiative have agreed on the following requirements:
- All releases by the above MPI implementations will use the libtool ABI string "12:x:0". "x" can vary based on release number.
- The following names will be used for the libraries:
- C bindings and internal symbols: libmpi
- C++ bindings: libmpicxx
- Fortran 77 bindings: libmpif77
- Fortran 90 bindings: libmpifort
- Functions that are not a part of the MPI standard (MPIX_ functions) and F08 bindings are not covered by the ABI.
- All wrapper compilers will use the following dependencies; no additional library dependencies will be explicitly added (they will be pulled in using libtool interlibrary dependencies):
- For C programs: libmpi
- For C++ programs: libmpicxx and libmpi
- For Fortran 77: libmpif77
- For Fortran 90: libmpifort and libmpif77