NAME¶
TAU_MAPPING_PROFILE - Profiles a block based on a mapping
SYNOPSIS¶
C/C++:
TAU_MAPPING_PROFILE(FunctionInfo *FuncIdVar);
DESCRIPTION¶
The TAU_MAPPING_PROFILE macro measures the time and attributes it to the
statement mapped in TAU_MAPPING macro. It takes as its argument the identifier
of the higher level statement that is stored using TAU_MAPPING_OBJECT and
linked to the statement using TAU_MAPPING_LINK macros. TAU_MAPPING_PROFILE
measures the time spent in the entire block in which it is invoked. For
example, if the time spent in the run method of the class does work that must
be associated with the higher-level array expression, then, we can instrument
it as follows:
EXAMPLE¶
C/C++ :
// Evaluate the kernel
// Just tell an InlineEvaluator to do it.
template<class LHS,class Op,class RHS,class EvalTag>
void
ExpressionKernel<LHS,Op,RHS,EvalTag>::run() {
TAU_MAPPING_PROFILE(TauMapFI)
// Just evaluate the expression.
KernelEvaluator<EvalTag>().evalate(lhs_m,op_m,rhs_m);
// we could release the locks here or in dtor
}
SEE ALSO¶
TAU_MAPPING_CREATE(3),
TAU_MAPPING_LINK(3),
TAU_MAPPING_OBJECT(3)