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