MPI_Init

--- Initialize the MPI execution environment

Input Parameters

argc
Pointer to the number of arguments
argv
Pointer to the argument vector

Command line arguments

MPI specifies no command-line arguments but does allow an MPI implementation to make use of them.

-mpiqueue
print out the state of the message queues when MPI_FINALIZE is called. All processors print; the output may be hard to decipher. This is intended as a debugging aid.
-mpiversion
print out the version of the implementation (NOT of MPI), including the arguments that were used with configure.

-mpedbg
Start a debugger in an xterm window if there is an error (either detected by MPI or a normally fatal signal). This works only if MPICH was configured with -mpedbg.

-mpipktsize
nn - Set the message length where the ADI changed to the long message protocol to nn. This only works if MPICH was configured with -var_pkt.

The following options are available only on the Chameleon device and devices built with debugging code.

-mpichdebug
Print out the Chameleon device operations
-mpichmemdebug
(Chameleon device only) Print out a list of unreclaimed memory. This requires that MPI be built with the -DMPIR_DEBUG_MEM switch. This is intended for debugging the MPI implementation itself.
-mpichmsg
Print out the number of messages received, by category, when the program exits.

Notes

Note that the Fortran binding for this routine has only the error return argument (MPI_INIT(ierror))

Because the Fortran and C versions of MPI_Init are different, there is a restriction on who can call MPI_Init. The version (Fortran or C) must match the main program. That is, if the main program is in C, then the C version of MPI_Init must be called. If the main program is in Fortran, the Fortran version must be called.

On exit from this routine, all processes will have a copy of the argument list. This is NOT REQUIRED by the MPI standard, and truely portable codes should not rely on it. This is provided as a service by this implementation (an MPI implementation is allowed to distribute the command line arguments but is not required to).

Command line arguments are not provided to Fortran programs. More precisely, non-standard Fortran routines such as getarg and iargc have undefined behavior in MPI and in this implementation.

Signals used

The MPI standard requires that all signals used be documented. The MPICH implementation itself uses no signals, but some of the softare that MPICH relies on may use some signals. The list below is partial and should be independantly checked if you (and any package that you use) depend on particular signals.

IBM POE/MPL for SP2

SIGHUP, SIGINT, SIGQUIT, SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, SIGIO

-mpedbg

SIGQUIT, SIGILL, SIGFPE, SIGBUS, SIGSEGV, SIGSYS

Synopsis


#include "mpi.h"
int MPI_Init(argc,argv)
int  *argc;
char ***argv;

Location: init.c