#include "mpi.h" int MPI_Init(argc,argv) int *argc; char ***argv;
mem - Enable dynamic memory tracing of internal MPI objects memall - Generate output of all memory allocation/deallocation ptr - Enable tracing of internal MPI pointer conversions rank n - Limit subsequent -mpidb options to on the process with the specified rank in MPI_COMM_WORLD. A rank of -1 selects all of MPI_COMM_WORLD. ref - Trace use of internal MPI objects reffile filename - Trace use of internal MPI objects with output to the indicated file trace - Trace routine calls
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.
The MPI standard does not say what a program can do before an MPI_INIT or after an MPI_FINALIZE. In the MPICH implementation, you 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.
Note that if you are using software that needs the same signals, you may find that there is no way to use that software with the MPI implementation. The signals that cause the most trouble for applications include SIGIO, SIGALRM, and SIGPIPE. For example, using SIGIO and SIGPIPE may prevent X11 routines from working.
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. The error handler may be changed with MPI_Errhandler_set; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarentee that an MPI program can continue past an error.
Location:init.c