TAU_REGISTER_THREAD3
Register a thread with the profiling system
Usage
C/C++:
TAU_REGISTER_THREAD(void);
Fortran:
TAU_REGISTER_THREAD(void);
Overview
To register a thread with the profiling system, invoke the TAU_REGISTER_THREAD macro in the run method of the thread prior to executing any other TAU macro. This sets up thread identifiers that are later used by the instrumentation system.
Examples
C/C++ :
void * threaded_func(void *data) {
TAU_REGISTER_THREAD();
{ /**** NOTE WE START ANOTHER BLOCK IN THREAD */
TAU_PROFILE_TIMER(tautimer, "threaded_func()", "int ()",
TAU_DEFAULT);
TAU_PROFILE_START(tautimer);
work(); /* work done by this thread */
TAU_PROFILE_STOP(tautimer);
}
return NULL;
}
Fortran :
call TAU_REGISTER_THREAD()
Caveat
PDT based tau_instrumentor does not insert TAU_REGISTER_THREAD calls, they must be inserted manually
Releases
Unchanged in 5 releases since Debian 4.0 (Etch).