A New MPICH ABI Compatibility Initiative

Print Friendly, PDF & Email

MPIAs announced at SC13, the producers of several notable MPICH-derived MPI implementations have begun a collaboration with the explicit goal of maintaining ABI compatibility between their implementations.

Without such compatibility between implementations,” said Kenneth Raffenetti, a software developer in Argonne’s Mathematics and Computer Science Division, “every new release would require application developers to rebuild and test their code with each available MPI library. Since most systems support multiple MPI libraries, this requires them to build a complete cross-product of MPI implementations and all libraries that depend on them.”

The collaborators and package release dates include:

  • MPICH v3.1 (Dec. 2013)
  • IBM MPI v1.4 (April 2014)
  • Intel® MPI Library v5.0 (2014)
  • Cray MPT v7.0 (Jun 2014)

ABI, or application binary interface, is the low-level interface between two program modules. An ABI determines such details as how functions are called and the size, layout and alignment of datatypes. With ABI compatibility, programs conform to the same set of runtime conventions.

The primary aim of the initiative is for all parties to agree on a schedule for necessary ABI changes, leading to a more stable release cycle and fewer surprises for developers. This project is not limited to just MPICH-derived implementations. Other collaborators are welcome to join and participate in the initiative for the benefit of users, application developers and system administrators alike.

Read the Full Story.