Open MPI is an open source implementation of MPI (message-passing
interface), the industry-standard specification for writing message-
passing programs. Message passing is a programming model that gives the
programmer explicit control over interprocess communication.
The MPI specification was developed by the MPI Forum, a group of soft-
ware developers, computer vendors, academics, and computer-science
researchers whose goal was to develop a standard for writing message-
passing programs that would be efficient, flexible, and portable.
The outcome, known as the MPI Standard, was first published in 1993;
its most recent version (MPI-2) was published in July 1997. Open MPI
1.2 includes all MPI 1.2-compliant and MPI 2-compliant routines.
For more information about Open MPI, see the following URL:
The MPI standards are available at the following URL:
MAN PAGE SYNTAX
Man pages for Open MPI and Open MPI I/O routines are named according to
C syntax, that is, they begin with the prefix "MPI_", all in uppercase,
and the first letter following the "MPI_" prefix is also uppercase. The
rest of the letters in the routine are all lowercase, for example,
To fine-tune your Open MPI environment, you can either use arguments to
the mpirun, orterun, or mpiexec commands, or you can use MCA parame-
For more information on arguments, see the orterun.1 man page.
For a complete listing of MCA parameters and their descriptions, issue
the command ompi_info -h or ompi_info -param all all. This information
also appears in the FAQ on the Open MPI web site at:
All MPI routines (except MPI_Wtime and MPI_Wtick) return an error
value; C routines as the value of the function and Fortran routines in
the last argument. Before the value is returned, the current MPI error
handler is called. By default, this error handler aborts the MPI job.
MPI_ERR_TAG 4 Invalid tag argument.
MPI_ERR_COMM 5 Invalid communicator.
MPI_ERR_RANK 6 Invalid rank.
MPI_ERR_REQUEST 7 Invalid MPI_Request handle.
MPI_ERR_ROOT 7 Invalid root.
MPI_ERR_GROUP 8 Null group passed to function.
MPI_ERR_OP 9 Invalid operation.
MPI_ERR_TOPOLOGY 10 Invalid topology.
MPI_ERR_DIMS 11 Illegal dimension argument.
MPI_ERR_ARG 12 Invalid argument.
MPI_ERR_UNKNOWN 13 Unknown error.
MPI_ERR_TRUNCATE 14 Message truncated on receive.
MPI_ERR_OTHER 15 Other error; use Error_string.
MPI_ERR_INTERN 16 Internal error code.
MPI_ERR_IN_STATUS 17 Look in status for error value.
MPI_ERR_PENDING 18 Pending request.
MPI_ERR_ACCESS 19 Permission denied.
MPI_ERR_AMODE 20 Unsupported amode passed to open.
MPI_ERR_ASSERT 21 Invalid assert.
MPI_ERR_BAD_FILE 22 Invalid file name (for example,
path name too long).
MPI_ERR_BASE 23 Invalid base.
MPI_ERR_CONVERSION 24 An error occurred in a user-supplied
MPI_ERR_DISP 25 Invalid displacement.
MPI_ERR_DUP_DATAREP 26 Conversion functions could not
be registered because a data
representation identifier that was
already defined was passed to
MPI_ERR_FILE_EXISTS 27 File exists.
MPI_ERR_FILE_IN_USE 28 File operation could not be
completed, as the file is currently
open by some process.
MPI_ERR_INFO_KEY 30 Illegal info key.
MPI_ERR_INFO_NOKEY 31 No such key.
MPI_ERR_INFO_VALUE 32 Illegal info value.
MPI_ERR_INFO 33 Invalid info object.
MPI_ERR_IO 34 I/O error.
MPI_ERR_KEYVAL 35 Illegal key value.
MPI_ERR_LOCKTYPE 36 Invalid locktype.
MPI_ERR_NAME 37 Name not found.
MPI_ERR_NO_MEM 38 Memory exhausted.
51 Unsupported operation, such as
seeking on a file that supports
only sequential access.
MPI_ERR_WIN 52 Invalid window.
MPI_ERR_LASTCODE 53 Last error code.
MPI_ERR_SYSRESOURCE -2 Out of resources
1.6 May 10, 2012 MPI(3)
Man(1) output converted with