Name
TAU_PROFILE_TIMER — Defines a static timer.
Synopsis
C/C++:
TAU_PROFILE_TIMER( |
timer, | |
function_name, | ||
type, | ||
group) ;
|
Profiler | timer; |
char* or string& | function_name; |
char* or string& | type; |
TauGroup_t | group; |
Fortran:
TAU_PROFILE_TIMER( |
profiler, | |
name) ;
|
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')