(git:6a2e663)
timings Module Reference

Timing routines for accounting. More...

Functions/Subroutines

subroutine, public timings_register_hooks ()
 Registers handlers with base_hooks.F. More...
 
subroutine, public add_timer_env (timer_env)
 adds the given timer_env to the top of the stack More...
 
subroutine, public rm_timer_env ()
 removes the current timer env from the stack More...
 
type(timer_env_type) function, pointer, public get_timer_env ()
 returns the current timer env from the stack More...
 
subroutine, public timer_env_retain (timer_env)
 retains the given timer env More...
 
subroutine, public timer_env_release (timer_env)
 releases the given timer env More...
 
subroutine, public timeset_handler (routineN, handle)
 Start timer. More...
 
subroutine, public timestop_handler (handle)
 End timer. More...
 
subroutine, public timings_setup_tracing (trace_max, unit_nr, trace_str, routine_names)
 Set routine tracer. More...
 
subroutine, public print_stack (unit_nr)
 Print current routine stack. More...
 

Variables

integer, parameter, public default_timings_level = 1
 
integer, save, public global_timings_level = default_timings_level
 
character(len=default_string_length), parameter, public root_cp2k_name = 'CP2K'
 

Detailed Description

Timing routines for accounting.

History
02.2004 made a stacked version (of stacks...) [Joost VandeVondele] 11.2004 storable timer_envs (for f77 interface) [fawzi] 10.2005 binary search to speed up lookup in timeset [fawzi] 12.2012 Complete rewrite based on dictionaries. [ole]
Author
JGH

Function/Subroutine Documentation

◆ timings_register_hooks()

subroutine, public timings::timings_register_hooks

Registers handlers with base_hooks.F.

Author
Ole Schuett

Definition at line 78 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_timer_env()

subroutine, public timings::add_timer_env ( type(timer_env_type), optional, pointer  timer_env)

adds the given timer_env to the top of the stack

Parameters
timer_env...
History
02.2004 created [Joost VandeVondele]
Note
for each init_timer_env there should be the symmetric call to rm_timer_env

Definition at line 92 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rm_timer_env()

subroutine, public timings::rm_timer_env

removes the current timer env from the stack

History
02.2004 created [Joost VandeVondele]
Note
for each rm_timer_env there should have been the symmetric call to add_timer_env

Definition at line 133 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_timer_env()

type(timer_env_type) function, pointer, public timings::get_timer_env

returns the current timer env from the stack

Returns
...
Author
fawzi

Definition at line 146 of file timings.F.

Here is the caller graph for this function:

◆ timer_env_retain()

subroutine, public timings::timer_env_retain ( type(timer_env_type), pointer  timer_env)

retains the given timer env

Parameters
timer_envthe timer env to retain
Author
fawzi

Definition at line 157 of file timings.F.

Here is the caller graph for this function:

◆ timer_env_release()

subroutine, public timings::timer_env_release ( type(timer_env_type), pointer  timer_env)

releases the given timer env

Parameters
timer_envthe timer env to release
Author
fawzi

Definition at line 172 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ timeset_handler()

subroutine, public timings::timeset_handler ( character(len=*), intent(in)  routineN,
integer, intent(out)  handle 
)

Start timer.

Parameters
routineN...
handle...
History
none
Author
JGH

Definition at line 214 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ timestop_handler()

subroutine, public timings::timestop_handler ( integer, intent(in)  handle)

End timer.

Parameters
handle...
History
none
Author
JGH

Definition at line 290 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ timings_setup_tracing()

subroutine, public timings::timings_setup_tracing ( integer, intent(in)  trace_max,
integer, intent(in)  unit_nr,
character(len=13), intent(in)  trace_str,
character(len=default_string_length), dimension(:), intent(in), optional  routine_names 
)

Set routine tracer.

Parameters
trace_maxmaximum number of calls reported per routine. Setting this to zero disables tracing.
unit_nroutput unit used for printing the trace-messages
trace_strshort info-string which is printed along with every message
routine_namesList of routine-names. If provided only these routines will be traced. If not present all routines will traced.
History
12.2012 added ability to trace only certain routines [ole]
Author
JGH

Definition at line 397 of file timings.F.

Here is the caller graph for this function:

◆ print_stack()

subroutine, public timings::print_stack ( integer, intent(in)  unit_nr)

Print current routine stack.

Parameters
unit_nr...
History
none
Author
JGH

Definition at line 431 of file timings.F.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ default_timings_level

integer, parameter, public timings::default_timings_level = 1

Definition at line 67 of file timings.F.

◆ global_timings_level

integer, save, public timings::global_timings_level = default_timings_level

Definition at line 68 of file timings.F.

◆ root_cp2k_name

character(len=default_string_length), parameter, public timings::root_cp2k_name = 'CP2K'

Definition at line 70 of file timings.F.