Obtaining Reports of Timer Information

Cactus Maintainers <cactusmaint@cactuscode.org>

July 06 2003

Abstract

This thorn provides mechanisms for obtaining different information from timers during a Cactus run. Currently there are only simple reports to screen but in the future more configurable options will be added.

1 Using This Thorn

To use this thorn you only need to include it in your ActiveThorns parameter and set the relevent parameters. With default parameters the thorn does nothing.

Current options are to output the timing report to screen at the next iteration (via a steering interface), before each checkpoint, at a given iteration, or at periodic iteration intervals.

1.1 Obtaining This Thorn

Available as part of the Cactus Computational Toolkit in arrangement CactusUtils.

1.2 Support and Feedback

To the Cactus Team at cactusmaint@cactuscode.org or through the Bug/Feature Request web pages at www.cactuscode.org.

2 Parameters




all_timers_clock
Scope: private  STRING



Description: Which clock to use for the all timers output



Range   Default: gettimeofday
.*
any clock name allowed






before_checkpoint
Scope: private  BOOLEAN



Description: Before a checkpoint



  Default: no






n_top_timers
Scope: private  INT



Description: How many timers to include in the top timer report



Range   Default: (none)
Do not print the report
1:*
Any number of timers






next
Scope: private  BOOLEAN



Description: On next iteration



  Default: no






out_at
Scope: private  INT



Description: Output timer information at a given iteration



Range   Default: -1
-1
Do not output at specific iteration (default)
0:*
At this iteration






out_every
Scope: private  INT



Description: How often to output timer report to screen



Range   Default: (none)
No periodic output (default)
1:*
Every so many iterations






out_filename
Scope: private  STRING



Description: File name for timer reports



Range   Default: (none)
ˆ
$
empty filename: print to stdout
.
ˆ  +$
otherwise: print to that file






output_all_timers
Scope: private  BOOLEAN



Description: Output one file per processor containing all the Cactus timers



  Default: no






output_all_timers_readable
Scope: private  BOOLEAN



Description: Output one file containing information about all the Cactus timers (average, minimum, and maximum over all processors), in a format that is readable by humans



  Default: no






output_all_timers_together
Scope: private  BOOLEAN



Description: Output three files (formats .txt, .csv, and .tsv), containing information about all the Cactus timers (average, minimum, and maximum over all processors)



  Default: no






output_schedule_timers
Scope: private  BOOLEAN



Description: Output the schedule timers in a formatted tabular format



  Default: yes






checkpoint_every
Scope: shared from IO INT






out_dir
Scope: shared from IO STRING



3 Interfaces

General

Implements:

timerreport

4 Schedule

This section lists all the variables which are assigned storage by thorn CactusUtils/TimerReport. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage

NONE

Scheduled Functions

CCTK_ANALYSIS

  timerreport_outputevery

  print the timer report

 

 Language:c
 Options: global
 Type: function

CCTK_TERMINATE

  timerreport_outputterminate

  print the timer report

 

 Before: driver_terminate
  Language:c
 Options: global
 Type: function

CCTK_CHECKPOINT

  timerreport_checkpoint

  print the timer report

 

 Language:c
 Options: global
 Type: function

Aliased Functions

 

Alias Name:         Function Name:
TimerReport_Checkpoint zzz_TimerReport_Checkpoint
TimerReport_OutputEvery zzz_TimerReport_Output
TimerReport_OutputTerminatezzz_TimerReport_Output