Name
TAU_PROFILE_SET_THREAD — Informs the measurement system of the THREAD id
Synopsis
C/C++:
TAU_PROFILE_SET_THREAD(
THREAD)
;
int THREAD;
Fortran:
TAU_PROFILE_SET_THREAD(
THREAD)
;
integer THREAD;
Description
The TAU_PROFILE_SET_THREAD
macro sets the thread
identifier of the executing task for profiling and tracing. Tasks are
identified using node, context and thread ids. The profile data files
generated will accordingly be named
profile.<THREAD>.<context>.<thread>. Note that it is not
necessary to call TAU_PROFILE_SET_THREAD
when you
configued with a threading package (including OpenMP).
Example
C/C++ :
int main (int argc, char **argv) { int ret, i; pthread_attr_t attr; pthread_t tid; TAU_PROFILE_TIMER(tautimer,"main()", "int (int, char **)", TAU_DEFAULT); TAU_PROFILE_START(tautimer); TAU_PROFILE_INIT(argc, argv); TAU_PROFILE_SET_THREAD(0); /* ... */ TAU_PROFILE_STOP(tautimer); return 0; }
Fortran :
PROGRAM SUM_OF_CUBES integer profiler(2) / 0, 0 / save profiler INTEGER :: H, T, U call TAU_PROFILE_INIT() call TAU_PROFILE_TIMER(profiler, 'PROGRAM SUM_OF_CUBES') call TAU_PROFILE_START(profiler) call TAU_PROFILE_SET_THREAD(0) ! This program prints all 3-digit numbers that ! equal the sum of the cubes of their digits. DO H = 1, 9 DO T = 0, 9 DO U = 0, 9 IF (100*H + 10*T + U == H**3 + T**3 + U**3) THEN PRINT "(3I1)", H, T, U ENDIF END DO END DO END DO call TAU_PROFILE_STOP(profiler) END PROGRAM SUM_OF_CUBES
Python:
import pytau pytau.setThread(0)