HP-MPI User's Guide (11th Edition)
Introduction
MPI concepts
Chapter 14
MPI concepts
The primary goals of MPI are efficient communication and portability.
Although several message-passing libraries exist on different systems,
MPI is popular for the following reasons:
• Support for full asynchronous communication—Process
communication can overlap process computation.
• Group membership—Processes may be grouped based on context.
• Synchronization variables that protect process messaging—When
sending and receiving messages, synchronization is enforced by
source and destination information, message labeling, and context
information.
• Portability—All implementations are based on a published standard
that specifies the semantics for usage.
An MPI program consists of a set of processes and a logical
communication medium connecting those processes. An MPI process
cannot directly access memory in another MPI process. Inter-process
communication requires calling MPI routines in both processes. MPI
defines a library of routines through which MPI processes communicate.
The MPI library routines provide a set of functions that support
• Point-to-point communications
• Collective operations
• Process groups
• Communication contexts
• Process topologies
• Datatype manipulation.
Although the MPI library contains a large number of routines, you can
design a large number of applications by using the six routines listed in
Table 1-1.