This FAQ attempts to answer basic questions regarding MPI. Pointers to further information on MPI are included for those wishing to know more.
MPI stands for Message Passing Interface. The goal of MPI, simply stated, is to develop a widely used standard for writing message-passing programs. As such the interface attempts to establish a practical, portable, efficient, and flexible standard for message passing.
In designing MPI the MPI Forum sought to make use of the most attractive features of a number of existing message passing systems, rather than selecting one of them and adopting it as the standard. Thus, MPI has been strongly influenced by work at the IBM T. J. Watson Research Center, Intel's NX/2, Express, nCUBE's Vertex, p4, and PARMACS. Other important contributions have come from Zipcode, Chimp, PVM, Chameleon, and PICL.
The main advantages of establishing a message-passing standard are portability and ease-of-use. In a distributed memory communication environment in which the higher level routines and/or abstractions are build upon lower level message passing routines the benefits of standardization are particularly apparent. Furthermore, the definition of a message passing standard provides vendors with a clearly defined base set of routines that they can implement efficiently, or in some cases provide hardware support for, thereby enhancing scalability.
Source: MPI Document - http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html .
Message Passing Interface Forum
The Message Passing Interface Forum (MPIF), with participation from over 40 organizations, met from November 1992 to April 1994 to discuss and define a set of library interface standards for message passing. Version 1.0 of the standard was released on May 5, 1994. Beginning in March, 1995, the MPIF reconvened to correct errors and make clarifications in the MPI document of May 5, 1994. These discussions resulted in Version 1.1 (dated June, 1995) which contained only minor changes from Version 1.0. MPI-2 meetings began April, 1995 and met every six weeks until April 25, 1997. At the end of that meeting, the entire MPI-2 Document was unanimously accepted by all voting institutions. For more information on the MPI-2 process, see the section on the MPI-2 effort (Section MPI-2 ).
The MPIF is not sanctioned or supported by any official standards organization.
Source: MPI Document - http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html .
The MPI standardization effort involved about 60 people from 40 organizations mainly from the United States and Europe. Most of the major vendors of concurrent computers were involved in MPI, along with researchers from universities, government laboratories, and industry. The standardization process began with the Workshop on Standards for Message Passing in a Distributed Memory Environment, sponsored by the Center for Research on Parallel Computing, held April 29-30, 1992, in Williamsburg, Virginia. At this workshop the basic features essential to a standard message passing interface were discussed, and a working group established to continue the standardization process.
A preliminary draft proposal, known as MPI1 ftp://netlib2.cs.utk.edu/mpi/mpi1.ps , was put forward by Dongarra, Hempel, Hey, and Walker in November 1992, and a revised version was completed in February 1993. MPI1 embodied the main features that were identified at the Williamsburg workshop as being necessary in a message passing standard. Since MPI1 was primarily intended to promote discussion and ``get the ball rolling,'' it focused mainly on point-to-point communications. MPI1 brought to the forefront a number of important standardization issues, but did not include any collective communication routines and was not thread-safe.
In November 1992, a meeting of the MPI working group was held in Minneapolis, at which it was decided to place the standardization process on a more formal footing, and to generally adopt the procedures and organization of the High Performance Fortran Forum. Subcommittees were formed for the major component areas of the standard, and an email discussion service established for each. In addition, the goal of producing a draft MPI standard by the Fall of 1993 was set. To achieve this goal the MPI working group met every 6 weeks for two days throughout the first 9 months of 1993, and presented the draft MPI standard at the Supercomputing 93 conference in November 1993. These meetings and the email discussion together constituted the MPI Forum, membership of which was and continues to be open to all members of the high performance computing community.
Beginning in March, 1995, the MPIF reconvened to correct errors and make clarifications in the MPI document of May 5, 1994. These discussions resulted in Version 1.1 (dated June, 1995) which contained only minor changes from Version 1.0. MPI-2 meetings began April, 1995 and met every six weeks until April 25, 1997. At this meeting, the MPI-2 Document was unanimously accepted. For more information on the MPI-2 process, see the section on the MPI-2 effort (Section MPI-2 ).
Source: MPI Document - http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html .
There are two versions of the MPI document: version 1.0 (dated May 5, 1994) and version 1.1 (dated June, 1995).
Version 1.1 (June 12, 1995) of the MPI Document is available on-line as HTML at http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html . It is also available as postscript from the following locations:
A compressed version of the postscript document is available fromThe official postscript version of the document can be obtained from netlib at ORNL by sending a mail message to netlib@ornl.gov with the message "send mpi-report.ps from mpi".
It may also be obtained by anonymous ftp from the following sites:
Next Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter