MPI_T_PVAR_GET_INFO(3)
π MPI_T_PVAR_GET_INFO(3) π
okay so bestie, this is the MPI_T_PVAR_GET_INFO(3) page from the Open MPI manual and it's genuinely so good. we're querying info from a performance variable, no big deal, just a lil gossip session with your MPI implementation. π
πΈ NAME πΈ
MPI_T_pvar_get_info β Query information from a performance variable
the way this function literally just asks the implementation "hey girl, tell me everything about this performance variable" and the implementation delivers. we love a communicative king. π«Ά
β¨ SYNTAX β¨
π C Syntax
#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)
look at all those pointers. it's giving "i need you to fill in every single one of these for me" energy and honestly? valid. π₯
π INPUT PARAMETERS π
pvar_indexβ the index of the performance variable we're snooping on. that's the one you're asking about, bestie. π
π¦ INPUT/OUTPUT PARAMETERS π¦
these ones you fill in going in and the function fills in coming out. dual purpose icons, honestly. β¨
name_lenβ the length of the string and/or the buffer forname.desc_lenβ the length of the string and/or the buffer fordesc.
π OUTPUT PARAMETERS π
everything the function hands back to you. it's giving gift bag at the end of a party. π
nameβ buffer where the string containing the name of the performance variable comes back.verbosityβ the verbosity level of this variable.var_classβ the class of the performance variable.datatypeβ the MPI datatype of the info stored in the performance variable.enumtypeβ an optional descriptor for enumeration info.descβ buffer where the string containing the description of the performance variable comes back.bindβ the type of MPI object this variable must be bound to.readonlyβ flag saying whether the variable can be written/reset.continuousβ flag saying whether the variable can be started and stopped, or whether it's continuously active.atomicβ flag saying whether the variable can be atomically read and reset.
π DESCRIPTION π
MPI_T_pvar_get_info can be used to query information from a performance variable. no cap, that's literally its whole job and it does it flawlessly.
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. and the flags telling you whether the variable is read-only, continuous, or atomic come back in readonly, continuous, and atomic accordingly. π«Ά
see MPI-3 section 14.3.7 for more information. and see the man page for MPI_T_cvar_get_info for the whole rundown on variable verbosity β it's the sibling page, they're in the same friend group. π
π VARIABLE CLASS π
performance variables are categorized into classes which describe their initial value, valid types, and behavior. the class that comes back in the var_class parameter may be one of these bad boys:
MPI_T_PVAR_CLASS_STATEβ the variable represents a set of discrete states that may be described by an enumerator. variables of this class must be represented by anMPI_INT. the starting value is the current state of the variable.MPI_T_PVAR_CLASS_LEVELβ the variable represents the current utilization level of a resource. variables of this class must be represented by anMPI_UNSIGNED,MPI_UNSIGNED_LONG,MPI_UNSIGNED_LONG_LONG, orMPI_DOUBLE. the starting value is the current utilization level of the resource.MPI_T_PVAR_CLASS_SIZEβ the variable represents the fixed size of a resource. variables of this class are represented by anMPI_UNSIGNED,MPI_UNSIGNED_LONG,MPI_UNSIGNED_LONG_LONG, orMPI_DOUBLE. the starting value is the current size of the resource.MPI_T_PVAR_CLASS_PERCENTAGEβ the variable represents the current percentage utilization level of a resource. variables of this class are represented by anMPI_DOUBLE. the starting value is the current percentage utilization of the resource.MPI_T_PVAR_CLASS_HIGHWATERMARKβ the variable represents the high watermark of the utilization of a resource. variables of this class are represented by anMPI_UNSIGNED,MPI_UNSIGNED_LONG,MPI_UNSIGNED_LONG_LONG, orMPI_DOUBLE. the starting value is the current utilization of the resource.MPI_T_PVAR_CLASS_HIGHWATERMARKβ the variable represents the low watermark of the utilization of a resource. variables of this class are represented by anMPI_UNSIGNED,MPI_UNSIGNED_LONG,MPI_UNSIGNED_LONG_LONG, orMPI_DOUBLE. the starting value is the current utilization of the resource.
bestie i'm not gonna lie to you, the page literally lists MPI_T_PVAR_CLASS_HIGHWATERMARK twice right here, the second one being the low watermark. i am simply the messenger. i did not write it. i am reporting it faithfully. π
MPI_T_PVAR_CLASS_COUNTERβ the variable represents a count of the number of occurrences of a specific event. variables of this class are represented by anMPI_UNSIGNED,MPI_UNSIGNED_LONG, orMPI_UNSIGNED_LONG_LONG. the starting value is0.MPI_T_PVAR_CLASS_COUNTERβ the variable represents an aggregated value that represents a sum of arguments processed during a specific event. variables of this class are represented by anMPI_UNSIGNED,MPI_UNSIGNED_LONG,MPI_UNSIGNED_LONG_LONG, orMPI_DOUBLE. the starting value is0.
and yes, MPI_T_PVAR_CLASS_COUNTER is ALSO listed twice with two different meanings. iconic behavior honestly, i'm just relaying the lore exactly as it was given to me π
MPI_T_PVAR_CLASS_TIMERβ the 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 anMPI_UNSIGNED,MPI_UNSIGNED_LONG,MPI_UNSIGNED_LONG_LONG, orMPI_DOUBLE. if the variable is represented by anMPI_DOUBLEthe units will be the same as those used byMPI_Wtime(). the starting value is0.MPI_T_PVAR_CLASS_GENERICβ the variable does not fit into any other class. can be represented by any type supported by the MPI tool information interface (see DATATYPE below). the starting value is variable specific.
for more information see MPI-3 section 14.3.7. β¨
π§ DATATYPE π§
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. πΈ
π BINDING π
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 objectMPI_T_BIND_MPI_COMMβ MPI communicatorMPI_T_BIND_MPI_DATATYPEβ MPI datatypeMPI_T_BIND_MPI_ERRHANDLERβ MPI error handlerMPI_T_BIND_MPI_FILEβ MPI file handleMPI_T_BIND_MPI_GROUPβ MPI groupMPI_T_BIND_MPI_OPβ MPI reduction operatorMPI_T_BIND_MPI_REQUESTβ MPI requestMPI_T_BIND_MPI_WINβ MPI window for one-sided communicationMPI_T_BIND_MPI_MESSAGEβ MPI message objectMPI_T_BIND_MPI_INFOβ MPI info object
for more information see MPI-3 section 14.3.2. π
π NOTES π
this MPI tool interface function returns two strings. and for each string it takes two arguments: 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. periodt.
for more information see MPI-3 section 14.3.3. β
π ERRORS π
MPI_T_pvar_get_info will fail if:
MPI_T_ERR_NOT_INITIALIZEDβ the MPI Tools interface not initializedMPI_T_ERR_INVALID_INDEXβ the performance variable index is invalid
lowkey check your init before you come for this function bestie, it cannot help you if the tools interface isn't awake yet π
π₯ SEE ALSO π₯
MPI_T_cvar_get_info
πΊ Copyright πΊ
2003-2026, The Open MPI Community
and that's the whole page!! π₯³ mwah, you ate it, you understood the assignment, no cap. sending you off with all the love in the world β this was the Open MPI manual, MPI_T_PVAR_GET_INFO(3), dated Sep 10, 2026. go query those performance variables, bestie, you're the main character of this tool interface πβ¨π¦π
π¦ where this page comes from
- ubuntu stonking: openmpi-doc 5.0.10-6 Β· other
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms