MPI_Init(3)

NAME
MPI_Init - Initialize the MPI library

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

#include <pmpi.h>
int PMPI_Init(int *argc, char ***argv);

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

INCLUDE 'mpif.h'
MPI_INIT(ierr)
INTEGER ierr

INPUT PARAMETERS
argc
    - argc count of command line arguments (integer)
argv
    - argv value of command line arguments (integer)

DESCRIPTION
The MPI_Init() function is used to initialize MPI. Prior to its use, no MPI functions may be used other than MPI_Initialized(). This function must not be called twice. The arguments to this function should be the command-line arguments given to the main() function of the program using MPI. This version of MPI does not alter or use any command line arguments. PMPI_Init() is the profiling version of this function.

EXTRA FUNCTIONS
This version of MPI implements the MPI 1.3 specification. However, some functions from MPI 2.0 are also implemented. In addition, some functions used to control the amount of internal buffering are exposed. See MPI_bufcopy_set(3), and MPI_bufcopy_get(3).

SIGNALS USED
This version of MPI uses a low-priority real-time signal in order to progress sends. Signals are blocked in the I/O threads.

ERRORS
All MPI routines except for MPI_Wtime and MPI_Wtick return an error code. The the current MPI error handler is invoked if the return value is not MPI_SUCCESS. The default error handler aborts, but this may be changed with by using the MPI_Errhandler_set() function. The predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned instead. Note that MPI does not guarentee that an MPI program can continue past an error. In this implementation, all errors except MPI_ERR_INTERN or MPI_ERR_OTHER should always be recoverable. In C, the error code is passed as the return value. In FORTRAN, all functions have an parameter ierr which returns the error code. MPI C++ functions do not directly return an error code. However, C++ users may want to use the MPI::ERRORS_THROW_EXCEPTIONS handler. This will throw an MPI::Exception with the corresponding error code. To prevent exceptions from being raised from within C and Fortran code, they will see all error return values as MPI_ERR_PENDING when this handler is chosen. In this implementation, call MPI::throw_exception() to throw the correct exception if this occurs.
MPI_SUCCESS
    - No error;
MPI_ERR_PENDING
    - Pending exception;
MPI_ERR_OTHER
    - MPI has already started or shut down.

SEE ALSO
MPI_Initialized(3), MPI_Finalize(3), MPI_Finalized(3), MPI_Abort(3), MPI_Get_version(3), MPI_Get_processor_name(3)