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 IOINT






out_dir
Scope: shared from IOSTRING



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_OutputTerminate zzz_TimerReport_Output