1.1 Background

Beginning in March 1995, the MPI-/ Forum began meeting to consider corrections and extensions to the original MPI-/ Standard document [5]. The first product of these deliberations was Version 1.1 of the MPI-/ specification, released in June of 1995 (see
http://www.mpi-forum.org for official MPI-/ document releases). Since that time, effort has been focused in five types of areas.

  1. Further corrections and clarifications for the MPI-1.1/ document.
  2. Additions to MPI-1.1/ that do not significantly change its types of functionality (new datatype constructors, language interoperability, etc.).
  3. Completely new types of functionality (dynamic processes, one-sided communication, parallel I/O, etc.) that are what everyone thinks of as ``MPI-2 functionality.''
  4. Bindings for Fortran 90 and C++. This document specifies C++ bindings for both MPI-/ and MPI-// functions, and extensions to the Fortran 77 binding of MPI-/ and MPI-// to handle Fortran 90 issues.
  5. Discussions of areas in which the MPI-/ process and framework seem likely to be useful, but where more discussion and experience are needed before standardization (e.g. 0-copy semantics on shared-memory machines, real-time specifications).

Corrections and clarifications (items of type 1 in the above list) have been collected in Chapter [*] of this document, ``Version 1.2 of MPI.'' This chapter also contains the function for identifying the version number. Additions to MPI-1.1/ (items of types 2, 3, and 4 in the above list) are in the remaining chapters, and constitute the specification for MPI-//. This document specifies Version 2.0 of MPI-/. Items of type 5 in the above list have been moved to a separate document, the ``MPI Journal of Development'' (JOD), and are not part of the MPI-// Standard.

This structure makes it easy for users and implementors to understand what level of MPI-/ compliance a given implementation has:

It is to be emphasized that forward compatibility is preserved. That is, a valid MPI-1.1/ program is both a valid MPI-1.2/ program and a valid MPI-// program, and a valid MPI-1.2/ program is a valid MPI-// program.

MPI-Standard for MARMOT