
Also added infrastructure to have developers write man pages in Markdown (vs. nroff). Pandoc >=v1.12 is used to convert those Markdown files into actual nroff man pages. Dist tarballs will contain generated nroff man pages; we don't want to require users to have Pandoc installed. Anyone who builds Open MPI from a git clone will need to have Pandoc installed (similar to how we treat Flex). You can opt out of Open MPI's Pandoc-generated man pages by configuring Open MPI with --disable-man-pages. This will also disable "make dist" (i.e., "make dist" will error if you configured with --disable-man-pages). Also removed the stuff to re-generate man pages. This commit also: 1. Includes a new man page, written in Markdown (ompi/mpi/man/man5/MPI_T.5.md) that contains Open MPI-specific information about MPI_T. 2. Includes a converted ompi/mpi/man/man3/MPI_T_init_thread.3.md (from MPI_T_init_thread.3in -- i.e., nroff) just to show that Markdown can be used throughout the Open MPI code base for man pages. 3. Made the Makefiles in ompi/mpi/man/man?/ be full-fledged Makefile.am's (vs. Makefile.extras that are designed to be included in ompi/Makefile.am). It is more convenient to test generation / installation of man pages when you can "make" and "make install" in their respective directories (vs. doing a build / install for the entire ompi project). 4. Removed logic from ompi/Makefile.am that re-generated man pages if opal_config.h changes. Other man pages -- hopefully all of them! -- will be converted to Markdown over time. Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2.1 KiB
NAME
MPI_T_init_thread - Initializes the MPI Tool information 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 calledMPI_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 memoryMPI_T_ERR_CANNOT_INIT
: Interface not in the state to be initialized