Man Linux: Main Page and Category List

NAME

       TAU_PROFILE_TIMER - Defines a static timer.

SYNOPSIS

       C/C++:

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

       Fortran:

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

DESCRIPTION

       C/C++ :

       With TAU_PROFILE_TIMER, a group of one or more statements is profiled.
       This macro has a timer variable as its first argument, and then strings
       for name and type, as described earlier. It associates the timer to the
       profile group specified in the last parameter.

       Fortran :

       To profile a block of Fortran code, such as a function, subroutine,
       loop etc., the user must first declare a profiler, which is an integer
       array of two elements (pointer) with the save attribute, and pass it as
       the first parameter to the TAU_PROFILE_TIMER subroutine. The second
       parameter must contain the name of the routine, which is enclosed in a
       single quote.  TAU_PROFILE_TIMER declares the profiler that must be
       used to profile a block of code. The profiler is used to profile the
       statements using TAU_PROFILE_START and TAU_PROFILE_STOP as explained
       later.

EXAMPLE

       C/C++ :

       template< class T, unsigned Dim >
       void BareField<T,Dim>::fillGuardCells(bool reallyFill)
       {
        // profiling macros
        TAU_TYPE_STRING(taustr, CT(*this) + " void (bool)" );
        TAU_PROFILE("BareField::fillGuardCells()", taustr, TAU_FIELD);
        TAU_PROFILE_TIMER(sendtimer, "fillGuardCells-send",
                          taustr, TAU_FIELD);
        TAU_PROFILE_TIMER(localstimer, "fillGuardCells-locals",
                          taustr, TAU_FIELD);
        ...
       }

       Fortran :

       subroutine bcast_inputs
       implicit none
       integer profiler(2)
       save profiler

       include ’mpinpb.h’
       include ’applu.incl’

       interger IERR

       call TAU_PROFILE_TIMER(profiler, ’bcast_inputs’)

SEE ALSO

       TAU_PROFILE_TIMER_DYNAMIC(3), TAU_PROFILE_START(3), TAU_PROFILE_STOP(3)

                                  08/31/2005