Cargando…

IMPI: Making MPI Interoperable

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...

Descripción completa

Detalles Bibliográficos
Autores principales: George, William L., Hagedorn, John G., Devaney, Judith E.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: [Gaithersburg, MD] : U.S. Dept. of Commerce, National Institute of Standards and Technology 2000
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4874770/
https://www.ncbi.nlm.nih.gov/pubmed/27551614
http://dx.doi.org/10.6028/jres.105.035
Descripción
Sumario: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.