title: IMPI: Making MPI Interoperable.
abstract: The Message Passing Interface (MPI) is the de facto standard for writing parallel scientific applications in the message passing programming paradigm. Implementations of MPI were not designed to interoperate, thereby limiting the environments in which parallel jobs could be run. We briefly describe a set of protocols, designed by a steering committee of current implementors of MPI, that enable two or more implementations of MPI to interoperate within a single application. Specifically, we introduce the set of protocols collectively called Interoperable MPI (IMPI). These protocols make use of novel techniques to handle difficult requirements such as maintaining interoperability among all IMPI implementations while also allowing for the independent evolution of the collective communication algorithms used in IMPI. Our contribution to this effort has been as a facilitator for meetings, editor of the IMPI Specification document, and as an early testbed for implementations of IMPI. This testbed is in the form of an IMPI conformance tester, a system that can verify the correct operation of an IMPI-enabled version of MPI.
authors.affiliation: National Institute of Standards and Technology, Gaithersburg, MD 20899-8591.
authors.forename: W L
authors.initials: WL
authors.lastname: George
authors.affiliation: National Institute of Standards and Technology, Gaithersburg, MD 20899-8591.
authors.forename: J G
authors.initials: JG
authors.lastname: Hagedorn
authors.affiliation: National Institute of Standards and Technology, Gaithersburg, MD 20899-8591.
authors.forename: J E
authors.initials: JE
authors.lastname: Devaney
keywords: MPI; conformance testing; distributed processing; interoperable; message passing; parallel processing