Name
TAU_MAPPING_LINK — Creates a mapping link
Synopsis
C/C++:
TAU_MAPPING_LINK( |
FuncIdVar, | |
Key) ;
|
FunctionInfo | FuncIdVar; |
unsigned long | Key; |
Description
TAU_MAPPING_LINK
creates 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();