TAU_PROFILE_TIMER(3)

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)
    {y
     // 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)