MPI (Message-Passing Interface) is a message-passing library
interface specification. All parts of this definition are
significant. MPI addresses primarily the message-passing parallel
programming model, in which data is moved from the address space of
one process to that of another process through cooperative operations
on each process. (Extensions to the ``classical'' message-passing model
are provided in collective operations, remote-memory access
operations, dynamic process creation, and parallel I/O.) MPI is a
specification, not an implementation; there are multiple
implementations of MPI. This specification is for a library
interface; MPI is not a language, and all MPI operations are
expressed as functions, subroutines, or methods, according to the
appropriate language bindings, which for C, C++, Fortran-77, and
Fortran-95, are part of the MPI standard. The standard has been
defined through an open process by a community of parallel computing
vendors, computer scientists, and application developers. The next
few sections provide an overview of the history of MPI's development.
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
built
upon lower level
message-passing routines the benefits of standardization are particularly
apparent. Furthermore, the definition of a message-passing standard, such
as that proposed here, 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.
The goal of the Message-Passing Interface simply stated is to
develop a widely used
standard for writing message-passing programs.
As such the interface should
establish a practical, portable, efficient, and flexible standard for message
passing.
A complete list of goals follows.
![]()
![]()
![]()
Up: Contents
Next: Background of MPI-1.0
Previous: Introduction to MPI
Return to MPI-2.1 Standard Index
Return to MPI Forum Home Page
MPI-2.0 of July 1, 2008
HTML Generated on July 6, 2008