Provided by: openmpi-doc_1.10.2-8ubuntu1_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

       INCLUDE 'mpif.h'
       MPI_INIT(IERROR)
            INTEGER   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 any other MPI routine (apart from
       MPI_Initialized) is called. 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