1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
.\" Man page generated from reStructuredText.
.
.TH "MPI_T_INIT_THREAD" "3" "May 30, 2025" "" "Open MPI"
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
\fI\%MPI_T_init_thread\fP — Initializes the MPI Tool information interface
.SH SYNTAX
.SS C Syntax
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
#include <mpi.h>
int MPI_T_init_thread(int required, int *provided)
.ft P
.fi
.UNINDENT
.UNINDENT
.SH INPUT PARAMETERS
.INDENT 0.0
.IP \(bu 2
\fBrequired\fP: Desired level of thread support (integer).
.UNINDENT
.SH OUTPUT PARAMETERS
.INDENT 0.0
.IP \(bu 2
\fBprovided\fP: Available level of thread support (integer).
.UNINDENT
.SH DESCRIPTION
.sp
MPI_T_init_thread() initializes the MPI tool information interface.
Calls to MPI tool functions are allowed at any point in execution
(including before MPI_Init() and after MPI_Finalize()) as long
as MPI_T_init_thread() has been called at least once and the number
of calls to MPI_T_init_thread() is greater than the number of calls
to MPI_T_finalize(). If at any point in execution the number of
calls to MPI_T_finalize() equals the number of calls to
MPI_T_init_thread() the MPI tool interface will no longer be
available until another call to MPI_T_init_thread().
.sp
MPI_T_init_thread(), like MPI_Init_thread(), has a provision to
request a certain level of thread support in \fBrequired\fP:
.INDENT 0.0
.IP \(bu 2
\fBMPI_THREAD_SINGLE\fP: Only one thread will execute.
.IP \(bu 2
\fBMPI_THREAD_FUNNELED\fP: If the process is multithreaded, only the
thread that called \fI\%MPI_Init_thread\fP will make MPI calls.
.IP \(bu 2
\fBMPI_THREAD_SERIALIZED\fP: If the process is multithreaded, only one
thread will make MPI library calls at one time.
.IP \(bu 2
\fBMPI_THREAD_MULTIPLE\fP: If the process is multithreaded, multiple
threads may call MPI at once with no restrictions.
.UNINDENT
.sp
The level of thread support available to the program is set in
\fBprovided\fP\&. In Open MPI, the value is dependent on how the library was
configured and built. Note that there is no guarantee that \fBprovided\fP
will be greater than or equal to \fBrequired\fP\&.
.SH NOTES
.sp
It is the caller’s responsibility to check the value of \fBprovided\fP, as
it may be less than what was requested in \fBrequired\fP\&.
.SH ERRORS
.sp
\fI\%MPI_T_init_thread\fP will fail if:
.INDENT 0.0
.IP \(bu 2
\fBMPI_T_ERR_MEMORY\fP: Out of memory
.IP \(bu 2
\fBMPI_T_ERR_CANNOT_INIT\fP: Interface not in the state to be
initialized
.UNINDENT
.sp
\fBSEE ALSO:\fP
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
\fI\%MPI_T\fP
.IP \(bu 2
\fI\%MPI_Init\fP
.IP \(bu 2
\fI\%MPI_Init_thread\fP
.UNINDENT
.UNINDENT
.UNINDENT
.SH COPYRIGHT
2003-2025, The Open MPI Community
.\" Generated by docutils manpage writer.
.
|