Scroll to navigation

TAU_PROFILE_TIMER_DY(3) TAU Instrumentation API TAU_PROFILE_TIMER_DY(3)

NAME

TAU_PROFILE_TIMER_DYNAMIC - Defines a dynamic timer.

SYNOPSIS

C/C++:

TAU_PROFILE_TIMER_DYNAMIC(Profiler timer, char* or string& function_name, char* or string& type, TauGroup_t group);

Fortran:

TAU_PROFILE_TIMER_DYNAMIC(integer profiler(2), character name(size));

DESCRIPTION

TAU_PROFILE_TIMER_DYNAMIC operates similar to TAU_PROFILE_TIMER except that the timer is created each time the statement is invoked. This way, the name of the timer can be different for each execution.

EXAMPLE

C/C++ :

int main(int argc, char **argv) {

int i;
TAU_PROFILE_TIMER(t,"main()", "", TAU_DEFAULT);
TAU_PROFILE_SET_NODE(0);
TAU_PROFILE_START(t);
for (i=0; i&5; i++) {
char buf[32];
sprintf(buf, "Iteration %d", i);
TAU_PROFILE_TIMER_DYNAMIC(timer, buf, "", TAU_USER);
TAU_PROFILE_START(timer);
printf("Iteration %d\n", i);
f1();
TAU_PROFILE_STOP(timer);
}
return 0; }

Fortran :

subroutine ITERATION(val)

integer val
character(13) cvar
integer profiler(2) / 0, 0 /
save profiler
print *, "Iteration ", val
write (cvar,'(a9,i2)') 'Iteration', val
call TAU_PROFILE_TIMER_DYNAMIC(profiler, cvar)
call TAU_PROFILE_START(profiler)
call F1()
call TAU_PROFILE_STOP(profiler)
return end

SEE ALSO

TAU_PROFILE_TIMER(3), TAU_PROFILE_START(3), TAU_PROFILE_STOP(3)

08/31/2005