Provided by: openmpi-doc_4.1.4-2ubuntu2_all bug

NAME

       MPI_Init - Initializes the MPI execution environment

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Init(int *argc, char ***argv)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_INIT(IERROR)
            INTEGER   IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Init(ierror)
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       void MPI::Init(int& argc, char**& argv)
       void MPI::Init()

INPUT PARAMETERS

       argc      C/C++ only: Pointer to the number of arguments.

       argv      C/C++ only: Argument vector.

OUTPUT PARAMETER

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       This  routine,  or  MPI_Init_thread,  must  be  called  before most other MPI routines are
       called.   There  are  a  small  number  of  exceptions,  such   as   MPI_Initialized   and
       MPI_Finalized.   MPI  can  be  initialized  at  most once; subsequent calls to MPI_Init or
       MPI_Init_thread are erroneous.

       All MPI programs must contain a call to MPI_Init or MPI_Init_thread. Open MPI accepts  the
       C/C++  argc  and argv arguments to main, but neither modifies, interprets, nor distributes
       them:

            {
                 /* declare variables */
                 MPI_Init(&argc, &argv);
                 /* parse arguments */
                 /* main program */
                 MPI_Finalize();
            }

NOTES

       The Fortran version does not have provisions for argc and argv and takes only IERROR.

       The MPI Standard does not say what a program  can  do  before  an  MPI_Init  or  after  an
       MPI_Finalize.  In  the  Open  MPI  implementation,  it should do as little as possible. In
       particular, avoid anything that changes the external state of the program, such as opening
       files, reading standard input, or writing to standard output.

ERRORS

       Almost all MPI routines return an error value; C routines as the value of the function and
       Fortran routines in the last argument. C++ functions do not return errors. If the  default
       error  handler  is  set  to  MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception
       mechanism will be used to throw an MPI::Exception object.

       Before the error value is returned, the current MPI error handler is called.  By  default,
       this  error  handler aborts the MPI job, except for I/O function errors. The error handler
       may   be   changed   with   MPI_Comm_set_errhandler;   the   predefined   error    handler
       MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not
       guarantee that an MPI program can continue past an error.

       See the MPI man page for a full list of MPI error codes.

SEE ALSO

       MPI_Init_thread
       MPI_Initialized
       MPI_Finalize
       MPI_Finalized