MPI is a de facto standard specifying the interface and functionality
of a message-passing library, a collection of routines for facilitating communication
(exchange of data and synchronization of tasks) among the processors in a distributed
memory parallel program. The acronym stands for Message-Passing Interface.
MPI is the first standard and portable message passing library that
offers good performance.
MPI is a "standard by consensus" designed in an open forum that
included hardware vendors, researchers, academics, software library developers,
and users, representing over 40 organizations. This broad participation in its development
ensured MPI's rapid emergence as a widely used standard for writing message-passing
programs. MPI is not a true standard; that is, it was not issued by a standards
organization such as ANSI or ISO.
The MPI "standard" was introduced by the MPI Forum in May 1994 and updated in June
1995. The document that defines it is entitled "MPI: A Message-Passing
Standard", published by the University of Tennesee, and available on the World Wide
Web at
Argonne National Laboratory. If you are not already familiar with
MPI, you will probably want to print a copy of this document and use it as a reference
for the syntax of MPI routines, which this workshop will not cover except to illustrate
specific cases.
MPI 2 produces extensions to the MPI message passing standard.
This effort did not change MPI; it extended MPI in the following areas:
- Dynamic process management
- One-sided operations
- Parallel I/O
- C++ and FORTRAN 90 bindings
- External interfaces
- Extended collective communications
- Real-time extensions
- Other areas
MPI 2 was completed as of July 1997.