Intentionally, the MPI-1 specification did not address several “difficult” issues. For reasons of expediency, these issues were deferred to a second specification, called MPI-2 in 1998. MPI-2 was a major revision to MPI-1 adding new functionality and corrections.
Key areas of new functionality in MPI-2:
Dynamic Processes - extensions that remove the static process model of MPI. Provides routines to create new processes after job startup.
One-Sided Communications - provides routines for one directional communications. Include shared memory operations (put/get) and remote accumulate operations.
Extended Collective Operations - allows for the application of collective operations to inter-communicators
External Interfaces - defines routines that allow developers to layer on top of MPI, such as for debuggers and profilers.
Additional Language Bindings - describes C++ bindings and discusses Fortran-90 issues.
Parallel I/O - describes MPI support for parallel I/O.
The MPI-3 standard was adopted in 2012, and contains significant extensions to MPI-1 and MPI-2 functionality including:
Nonblocking Collective Operations - permits tasks in a collective to perform operations without blocking, possibly offering performance improvements.
New One-sided Communication Operations - to better handle different memory models.
Neighborhood Collectives - extends the distributed graph and Cartesian process topologies with additional communication power.
Fortran 2008 Bindings - expanded from Fortran90 bindings
MPIT Tool Interface - allows the MPI implementation to expose certain internal variables, counters, and other states to the user (most likely performance tools).
Matched Probe - fixes an old bug in MPI-2 where one could not probe for messages in a multi-threaded environment.
More Information on MPI-2 and MPI-3:
MPI Standard documents: http://www.mpi-forum.org/docs/
Lawrence Livermore National Laboratory
7000 East Avenue • Livermore, CA 94550 | LLNL-WEB-458451
Operated by the Lawrence Livermore National Security, LLC for the
Department of Energy's National Nuclear Security Administration
Learn about the Department of Energy's Vulnerability Disclosure Program