NAME¶
TAU_GET_FUNC_VALS - Gets detailed performance data for given functions
SYNOPSIS¶
C/C++:
TAU_GET_FUNC_VALS(const char **inFuncs,
int numOfFuncs,
double ***counterExclusiveValues,
double *** counterInclusiveValues,
int ** numOfCalls,
int ** numOfSubRoutines,
const char *** counterNames,
int * numOfCounters,
int tid);
DESCRIPTION¶
It gets detailed performance data for the list of routines. The user specifies
inFuncs and the number of routines; TAU then returns the other arguments with
the performance data. counterExclusiveValues and counterInclusiveValues are
two dimensional arrays: the first dimension is the routine id and the second
is counter id. The value is indexed by these two dimensions. numCalls and
numSubrs (or child routines) are one dimensional arrays.
EXAMPLE¶
C/C++ :
const char **inFuncs;
/* The first dimension is functions, and the
second dimension is counters */
double **counterExclusiveValues;
double **counterInclusiveValues;
int *numOfCalls;
int *numOfSubRoutines;
const char **counterNames;
int numOfCouns;
TAU_GET_FUNC_NAMES(functionList, numOfFunctions);
/* We are only interested in the first two routines
that are executing in this context. So, we allocate
space for two routine names and get the performance
data for these two routines at runtime. */
if (numOfFunctions >=2 ) {
inFuncs = (const char **) malloc(sizeof(const char *) * 2);
inFuncs[0] = functionList[0];
inFuncs[1] = functionList[1];
//Just to show consistency.
TAU_DB_DUMP();
TAU_GET_FUNC_VALS(inFuncs, 2,
counterExclusiveValues,
counterInclusiveValues,
numOfCalls,
numOfSubRoutines,
counterNames,
numOfCouns);
TAU_DUMP_FUNC_VALS_INCR(inFuncs, 2);
cout << "@@@@@@@@@@@@@@@" << endl;
cout << "The number of counters is: " << numOfCouns << endl;
cout << "The first counter is: " << counterNames[0] << endl;
cout << "The Exclusive value of: " << inFuncs[0]
<< " is: " << counterExclusiveValues[0][0] << endl;
cout << "The numOfSubRoutines of: " << inFuncs[0]
<< " is: " << numOfSubRoutines[0]
<< endl;
cout << "The Inclusive value of: " << inFuncs[1]
<< " is: " << counterInclusiveValues[1][0]
<< endl;
cout << "The numOfCalls of: " << inFuncs[1]
<< " is: " << numOfCalls[1]
<< endl;
cout << "@@@@@@@@@@@@@@@" << endl;
}
TAU_DB_DUMP_INCR();
SEE ALSO¶
TAU_GET_COUNTER_NAMES(3),
TAU_GET_FUNC_NAMES(3),
TAU_DUMP_FUNC_NAMES(3),
TAU_DUMP_FUNC_VALS(3)