NAME
TAU_MAPPING_LINK - Creates a mapping link
SYNOPSIS
C/C++:
TAU_MAPPING_LINK(FunctionInfo FuncIdVar, unsigned long Key);
DESCRIPTION
TAU_MAPPING_LINKcreates a link between the object defined in
TAU_MAPPING_OBJECT (that identifies a statement) and the actual
higher-level statement that is mapped with TAU_MAPPING. The Key
argument represents a profile group to which the statement belongs, as
specified in the TAU_MAPPING macro argument. For the example of array
statements, this link should be created in the constructor of the class
that represents the expression. TAU_MAPPING_LINK should be executed
before any measurement takes place. It assigns the identifier of the
statement to the object to which FuncIdVar refers. For example
EXAMPLE
C/C++ :
class MyClass {
public:
MyClass() { }
~MyClass() { }
void Run(void) {
TAU_MAPPING_OBJECT(runtimer)
TAU_MAPPING_LINK(runtimer, (unsigned long) this);
TAU_MAPPING_PROFILE(runtimer); // For one object
TAU_PROFILE("MyClass::Run()", " void (void)", TAU_USER1);
/* ... */
}
};
int main(int argc, char **argv) {
TAU_PROFILE_INIT(argc, argv);
TAU_PROFILE("main()", "int (int, char **)", TAU_DEFAULT);
MyClass x, y, z;
MyClass a;
TAU_MAPPING_CREATE("MyClass::Run() for object a", " " ,
(TauGroup_t) &a, "TAU_USER", 0);
TAU_MAPPING_CREATE("MyClass::Run() for object x", " " ,
(TauGroup_t) &x, "TAU_USER", 0);
TAU_PROFILE_SET_NODE(0);
cout <<"Inside main"<<endl;
a.Run();
x.Run();
y.Run();
SEE ALSO
TAU_MAPPING_CREATE(3), TAU_MAPPING_OBJECT(3), TAU_MAPPING_PROFILE(3)
08/31/2005