MPI_T_cvar_get_info(3) Open MPI MPI_T_cvar_get_info(3)

MPI_T_cvar_get_info - Query information from a control variable

#include <mpi.h>
int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len,

int *verbosity, MPI_Datatype *datatype, MPI_T_enum *enumtype,
const *desc, int *desc_len, int *bind, int *scope)

Index of the control variable to be queried.

Length of the string and/or buffer for name.
Length of the string and/or buffer for desc.

Buffer to return the string containing the name of the control variable.
Verbosity level of this variable.
MPI datatype of the information stored in the control variable.
Optional descriptor for enumeration information.
Buffer to return the string containing the description of the control variable.
Type of MPI object to which this variable must be bound.
Scope of when changes to this variable are possible.

MPI_T_cvar_get_info can be used to query information about a control variable. The function returns the verbosity, datatype, enumeration type, binding, and scope of the queried control variable in the arguments verbosity, datatype, enumtype, bind, and scope, respectively. Control variables in Open MPI are the same as MCA parameters.

As Open MPI exposes a very large number of MCA parameters (control variables), control variables are categorized into nine verbosity levels corresponding to the equivalent ompi_info level. The nine levels are (in increasing order):

Basic information of interest to users
Detailed information of interest to users
All remaining information of interest to users
Basic information required for tuning
Detailed information required for tuning
All remaining information required for tuning
Basic information for MPI implementors
Detailed information for MPI implementors
All remaining information for MPI implementors

For more information see MPI-3 § 14.3.1.

The datatype returned by MPI_T_cvar_get_info is restricted to one of the following datatypes: MPI_INT, MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, MPI_COUNT, MPI_CHAR, and MPI_DOUBLE. For more information on datatypes in MPI_T see MPI-3 § 14.3.5.

The scope describes when and how changes can be made to a control variable. From MPI-3 § 14.3.6, the scope may be any of the following:

read-only, value is constant
read-only, cannot be written, but can change
may be writeable, writing is a local operation
may be writeable, must be done to a group of processes, all processes in a group must be set to consistent values
may be writeable, must be done to a group of processes, all processes in a group must be set to the same value
may be writeable, must be done to all processes, all connected processes must be set to consistent values
may be writeable, must be done to all processes, all connected processes must be set to the same value

For more information see MPI-3 § 14.3.6 Table 14.4.

This MPI tool interface function returns two strings. This function takes two argument for each string: a buffer to store the string, and a length which must initially specify the size of the buffer. If the length passed is n then this function will copy at most n - 1 characters of the string into the corresponding buffer and set the length to the number of characters copied - 1. If the length argument is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the string is not returned.

Open MPI does not currently support binding control variables to MPI objects.

MPI_T_cvar_get_info() will fail if:

[MPI_T_ERR_NOT_INITIALIZED]
The MPI Tools interface not initialized
[MPI_T_ERR_INVALID_INDEX]
The control variable index is invalid

ompi_info
November 24, 2021 4.1.2