Provided by: openmpi-doc_2.1.1-8_all bug

NAME

       MPI_T_init_thread - Initializes the MPI Tool imformation interface

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_T_init_thread(int required, int *provided)

INPUT PARAMETERS

       required  Desired level of thread support (integer).

OUTPUT PARAMETERS

       provided  Available level of thread support (integer).

DESCRIPTION

       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.

NOTES

       It  is  the caller's responsibility to check the value of provided, as it may be less than
       what was requested in required.

ERRORS

       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

SEE ALSO

       MPI_Init_thread
       MPI_T_finalize