Man Linux: Main Page and Category List

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           TAU_PROFILE_TIMER_DY(3)