MPI_T_pvar_get_info — Query information from a
performance variable
#include <mpi.h>
int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len,
int *verbosity, int *var_class, MPI_Datatype *datatype, MPI_T_enum *enumtype,
char *desc, int *desc_len, int *bind, int *readonly, int *continuous,
int *atomic)
- •
- pvar_index: Index of the performance variable to be queried.
- name_len: Length of the string and/or buffer for name.
- desc_len: Length of the string and/or buffer for desc.
- name: Buffer to return the string containing the name of the
performance variable.
- verbosity: Verbosity level of this variable.
- var_class: Class of performance variable.
- datatype: MPI datatype of the information stored in the performance
variable.
- enumtype: Optional descriptor for enumeration information.
- desc: Buffer to return the string containing the description of the
performance variable.
- bind: Type of MPI object to which this variable must be bound.
- readonly: Flag indicating whether the variable can be
written/reset.
- continuous: Flag indicating whether the variable can be started and
stopped or is continuously active.
- atomic: Flag indicating whether the variable can be atomically read
and reset.
MPI_T_pvar_get_info can be used to query information from a
performance variable. The function returns the verbosity, class, datatype,
enumeration type, and binding of the queried control variable in the
arguments verbosity, var_class, datatype,
enumtype, and bind respectively. Flags indicating whether the
variable is read-only, continuous, or atomic are returns in readonly,
continuous, and atomic accordingly. See MPI-3 section 14.3.7
for more information. See the man page for MPI_T_cvar_get_info for
information on variable verbosity.
Performance variables are categorized into classes which describe
their initial value, valid types, and behavior. The class returned in the
var_class parameter may be one of the following:
- MPI_T_PVAR_CLASS_STATE: Variable represents a set of discrete
states that may be described by an enumerator. Variables of this class
must be represented by an MPI_INT. The starting value is the current state
of the variable.
- MPI_T_PVAR_CLASS_LEVEL: Variable represents the current utilization
level of a resource. Variables of this class must be represented by an
MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE.
The starting value is the current utilization level of the resource.
- MPI_T_PVAR_CLASS_SIZE: Variable represents the fixed size of a
resource. Variables of this class are represented by an MPI_UNSIGNED,
MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting
value is the current size of the resource.
- MPI_T_PVAR_CLASS_PERCENTAGE: Variable represents the current
percentage utilization level of a resource. Variables of this class are
represented by an MPI_DOUBLE. The starting value is the current percentage
utilization of the resource.
- MPI_T_PVAR_CLASS_HIGHWATERMARK: Variable represents the high
watermark of the utilization of a resource. Variables of this class are
represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG,
or MPI_DOUBLE. The starting value is the current utilization of the
resource.
- MPI_T_PVAR_CLASS_HIGHWATERMARK: Variable represents the low
watermark of the utilization of a resource. Variables of this class are
represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG,
or MPI_DOUBLE. The starting value is the current utilization of the
resource.
- MPI_T_PVAR_CLASS_COUNTER: Variable represents a count of the number
of occurrences of a specific event. Variables of this class are
represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, or
MPI_UNSIGNED_LONG_LONG. The starting value is 0.
- MPI_T_PVAR_CLASS_COUNTER: Variable represents an aggregated value
that represents a sum of arguments processed during a specific event.
Variables of this class are represented by an MPI_UNSIGNED,
MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting
value is 0.
- MPI_T_PVAR_CLASS_TIMER: Variable represents the aggregated time
spent by the MPI implementation while processing an event, type of event,
or section of code. Variables of this class are represented by an
MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. If
the variable is represented by an MPI_DOUBLE the units will be the same as
those used by MPI_Wtime(). The starting value is 0.
- MPI_T_PVAR_CLASS_GENERIC: Variable does not fit into any other
class. Can by represented by an type supported by the MPI tool information
interface (see DATATYPE). Starting value is variable specific.
For more information see MPI-3 section 14.3.7.
The datatype returned by MPI_T_pvar_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 the MPI Tool information interface see MPI-3
section 14.3.5.
Performance variables may be bound to an MPI object. The binding
returned in the bind parameter may be one of the following:
- MPI_T_BIND_NO_OBJECT: No object
- MPI_T_BIND_MPI_COMM: MPI communicator
- MPI_T_BIND_MPI_DATATYPE: MPI datatype
- MPI_T_BIND_MPI_ERRHANDLER: MPI error handler
- MPI_T_BIND_MPI_FILE: MPI file handle
- MPI_T_BIND_MPI_GROUP: MPI group
- MPI_T_BIND_MPI_OP: MPI reduction operator
- MPI_T_BIND_MPI_REQUEST: MPI request
- MPI_T_BIND_MPI_WIN: MPI window for one-sided communication
- MPI_T_BIND_MPI_MESSAGE: MPI message object
- MPI_T_BIND_MPI_INFO: MPI info object
For more information see MPI-3 section 14.3.2.
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. For more information see MPI-3 section 14.3.3.
MPI_T_pvar_get_info will fail if:
- MPI_T_ERR_NOT_INITIALIZED: The MPI Tools interface not
initialized
- MPI_T_ERR_INVALID_INDEX: The performance variable index is
invalid
SEE ALSO:
2003-2025, The Open MPI Community