16.3.2. Binding MPI Tool Information Interface Variables to MPI Objects

PreviousUpNext
Up: The MPI Tool Information Interface Next: Convention for Returning Strings Previous: Verbosity Levels

Each MPI tool information interface variable provides access to a particular control setting or performance property of the MPI implementation. A variable may refer to a specific MPI object such as a communicator, datatype, or one-sided communication window, or the variable may refer more generally to the MPI environment of the process. Except for the last case, the variable must be bound to exactly one MPI object before it can be used. Table 18 lists all MPI object types to which an MPI tool information interface variable can be bound, together with the matching constant that MPI tool information interface routines return to identify the object type. It is erroneous to bind a control variable, performance variable, or event to a handle that would not be valid to use as an input argument to another MPI call (excluding calls to the MPI Tool Information Interface) at the same point of execution.


Table 18: Constants to identify associations of variables

Constant MPI object
MPI_T_BIND_NO_OBJECT N/A; applies globally to entire MPI process
MPI_T_BIND_MPI_COMM MPI communicators
MPI_T_BIND_MPI_DATATYPE MPI datatypes
MPI_T_BIND_MPI_ERRHANDLER MPI error handlers
MPI_T_BIND_MPI_FILE MPI file handles
MPI_T_BIND_MPI_GROUP MPI groups
MPI_T_BIND_MPI_OP MPI reduction operators
MPI_T_BIND_MPI_REQUEST MPI requests
MPI_T_BIND_MPI_WIN MPI windows for one-sided communication
MPI_T_BIND_MPI_MESSAGE MPI message object
MPI_T_BIND_MPI_INFO MPI info object
MPI_T_BIND_MPI_SESSION MPI session object

Rationale.

Some variables have meanings tied to a specific MPI object. Examples include the number of send or receive operations that use a particular datatype, the number of times a particular error handler has been called, or the communication protocol and ``eager limit'' used for a particular communicator. Creating a new MPI tool information interface variable for each MPI object would cause the number of variables to grow without bound, since they cannot be reused to avoid naming conflicts. By associating MPI tool information interface variables with a specific MPI object, the MPI implementation only must specify and maintain a single variable, which can then be applied to as many MPI objects of the respective type as created during the program's execution. ( End of rationale.)


PreviousUpNext
Up: The MPI Tool Information Interface Next: Convention for Returning Strings Previous: Verbosity Levels


Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023