« Return to documentation listing
Table of Contents
MPI_T_init_thread - Initializes the MPI Tool imformation interface
#include <mpi.h>
int MPI_T_init_thread(int required, int *provided)
- required
- Desired level of thread support (integer).
- provided
- Available level of thread support (integer).
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().
MPI_T_init_thread, like MPI_Init_thread, has a provision
to request a certain level of thread support in required:
- MPI_THREAD_SINGLE
- Only one thread will execute.
- MPI_THREAD_FUNNELED
- If the process is multithreaded,
only the thread that called MPI_Init_thread will make MPI calls.
- MPI_THREAD_SERIALIZED
- If the process is multithreaded, only one thread will make MPI library
calls at one time.
- MPI_THREAD_MULTIPLE
- If the process is multithreaded,
multiple threads may call MPI at once with no restrictions.
The level of
thread support available to the program is set in provided. In Open MPI,
the value is dependent on how the library was configured and built. Note
that there is no guarantee that provided will be greater than or equal
to required.
It is the caller’s responsibility to check the value of
provided, as it may be less than what was requested in required.
MPI_T_init_thread()
will fail if:
- [MPI_T_ERR_MEMORY]
- Out of memory
- [MPI_T_ERR_CANNOT_INIT]
-
Interface not in the state to be initialized
MPI_Init_thread
MPI_T_finalize
« Return to documentation listing
|