59cc09fd1a
This commit was SVN r13456. The following Trac tickets were found above: Ticket 850 --> https://svn.open-mpi.org/trac/ompi/ticket/850
131 строка
3.8 KiB
Groff
131 строка
3.8 KiB
Groff
.\"Copyright 2006, Sun Microsystems, Inc.
|
|
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
.TH MPI_Init_thread 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
|
|
|
.SH NAME
|
|
\fBMPI_Init_thread\fP \- Initializes the MPI execution environment
|
|
|
|
.SH SYNTAX
|
|
.ft R
|
|
|
|
.SH C Syntax
|
|
.nf
|
|
#include <mpi.h>
|
|
int MPI_Init_thread(int *\fIargc\fP, char ***\fIargv\fP,
|
|
int \fIrequired\fP, int *\fIprovided\fP)
|
|
|
|
.SH Fortran Syntax
|
|
.nf
|
|
INCLUDE 'mpif.h'
|
|
MPI_INIT(\fIREQUIRED, PROVIDED, IERROR\fP)
|
|
INTEGER \fIREQUIRED, PROVIDED, IERROR\fP
|
|
|
|
.SH C++ Syntax
|
|
.nf
|
|
#include <mpi.h>
|
|
int MPI::Init_thread(int& \fIargc\fP, char**& \fIargv\fP, int \fIrequired\fP)
|
|
int MPI::Init_thread(int \fIrequired\fP)
|
|
|
|
.SH INPUT PARAMETERS
|
|
.ft R
|
|
.TP 1i
|
|
argc
|
|
C/C++ only: Pointer to the number of arguments.
|
|
.TP 1i
|
|
argv
|
|
C/C++ only: Argument vector.
|
|
.TP 1i
|
|
required
|
|
Desired level of thread support (integer).
|
|
|
|
.SH OUTPUT PARAMETERS
|
|
.ft R
|
|
.TP 1i
|
|
provided
|
|
Available level of thread support (integer).
|
|
.TP 1i
|
|
IERROR
|
|
Fortran only: Error status (integer).
|
|
|
|
.SH DESCRIPTION
|
|
.ft R
|
|
This routine, or MPI_Init, 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.
|
|
.sp
|
|
MPI_Init_thread, as compared to MPI_Init, has a provision to request a
|
|
certain level of thread support in \fIrequired\fP:
|
|
.TP 2.4i
|
|
MPI_THREAD_SINGLE
|
|
Only one thread will execute.
|
|
.TP 2.4i
|
|
MPI_THREAD_FUNNELED
|
|
If the process is multithreaded, only the thread that called
|
|
MPI_Init_thread will make MPI calls.
|
|
.TP 2.4i
|
|
MPI_THREAD_SERIALIZED
|
|
If the process is multithreaded, only one thread will make MPI library
|
|
calls at one time.
|
|
.TP 2.4i
|
|
MPI_THREAD_MULTIPLE
|
|
If the process is multithreaded, multiple threads may call MPI at once
|
|
with no restrictions.
|
|
.SH
|
|
The level of thread support available to the program is set in
|
|
\fIprovided\fP, except in C++, where it is the return value of the
|
|
function. In Open MPI, the value is dependent on how the library was configured and built. Note that there is no guarantee that \fIprovided\fP will be greater than or equal to
|
|
\fIrequired\fP.
|
|
.sp
|
|
All MPI programs must contain a call to MPI_Init or
|
|
MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP
|
|
arguments to main, but neither modifies, interprets, nor distributes
|
|
them:
|
|
.sp
|
|
.nf
|
|
{
|
|
/* declare variables */
|
|
MPI_Init_thread(&argc, &argv, req, &prov);
|
|
/* parse arguments */
|
|
/* main program */
|
|
MPI_Finalize();
|
|
}
|
|
.fi
|
|
|
|
.SH NOTES
|
|
.ft R
|
|
The Fortran version does not have provisions for \fIargc\fP and
|
|
\fIargv\fP and takes only IERROR.
|
|
.sp
|
|
It is the caller's responsibility to check the value of \fIprovided\fP,
|
|
as it may be less than what was requested in \fIrequired\fP.
|
|
.sp
|
|
The MPI Standard does not say what a program can do before an
|
|
MPI_Init_thread 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.
|
|
|
|
.SH ERRORS
|
|
.ft R
|
|
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.
|
|
.sp
|
|
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.
|
|
|
|
.SH SEE ALSO
|
|
.ft R
|
|
.nf
|
|
MPI_Init
|
|
MPI_Initialized
|
|
MPI_Finalize
|
|
|
|
' @(#)MPI_Init_thread.3 1.6 06/03/09
|