.\" Man page generated from reStructuredText. . .TH "MPI_T_INIT_THREAD" "3" "Jul 22, 2024" "" "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 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-2024, The Open MPI Community .\" Generated by docutils manpage writer. .