MPI_Init_thread(3) MPI MPI_Init_thread(3) NAME MPI_Init_thread - Initialize the MPI execution environment SYNOPSIS #include "mpi.h" int MPI_Init_thread(int *argc, char ***argv, int required, int *provided ) INPUT PARAMETERS argc - Pointer to the number of arguments argv - Pointer to the argument vector required - Level of desired thread support OUTPUT PARAMETER provided - Level of provided thread support COMMAND LINE ARGUMENTS MPI specifies no command-line arguments but does allow an MPI implemen- tation to make use of them. See MPI_INIT for a description of the com- mand line arguments supported by MPI_INIT and MPI_INIT_THREAD . NOTES Note that the Fortran binding for this routine does not have the argc and argv arguments. ( MPI_INIT_THREAD(required, provided, ierror) ) Currently, MPICH places the same restrictions on MPI_INIT_THREAD as on MPI_INIT (see the MPI_INIT man page). When MPICH fully supports MPI-2, this restriction will be removed (as requried by the MPI-2 standard). SIGNALS USED The MPI standard requires that all signals used be documented. The MPICH implementation itself uses no signals, but some of the software 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 SWITCH SIGQUIT, SIGILL, SIGFPE, SIGBUS, SIGSEGV, SIGSYS MEIKO CS2 SIGUSR2 CH_P4 DEVICE SIGUSR1 The ch_p4 device also catches SIGINT, SIGFPE, SIGBUS, and SIGSEGV; this helps the p4 device (and MPICH) more gracefully abort a failed program. INTEL PARAGON (CH_NX AND NX DEVICE) SIGUSR2 SHARED MEMORY (CH_SHMEM DEVICE) SIGCHLD 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 imple- mentation. 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. ERRORS 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 prede- fined 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. MPI_SUCCESS - No error; MPI routine completed successfully. MPI_ERR_OTHER - This error class is associated with an error code that indi- cates that an attempt was made to call MPI_INIT a second time. MPI_INIT may only be called once in a program. LOCATION initthread.c 7/22/2004 MPI_Init_thread(3)