PRISMS-PF Manual
Loading...
Searching...
No Matches
Timer Class Reference

Timer class for PRISMS-PF. More...

#include <timer.h>

Classes

struct  Scope
 Timer scope guard. More...
 

Public Member Functions

 Timer ()=default
 Constructor.
 
 ~Timer ()
 Destructor.
 
 Timer (const Timer &)=delete
 
Timeroperator= (const Timer &)=delete
 
 Timer (Timer &&)=delete
 
Timeroperator= (Timer &&)=delete
 

Static Public Member Functions

static void start_section (const char *name)
 Start a new timer section.
 
static void end_section (const char *name)
 End the timer section.
 
static dealii::TimerOutput & serial_timer ()
 deal.II timer for the 0th MPI process
 
static dealii::TimerOutput & parallel_timer ()
 deal.II timer for parallel MPI process
 
static void print_summary ()
 Print a sorted summary of the timed sections.
 

Detailed Description

Timer class for PRISMS-PF.

This class keeps track of nested timing sections so we can print a structured summary at the end of the simulation.

Fortunately, Caliper handles this nicely (and more!) or us. deal.II doesn't do this so we have to keep track of a few additional objects. The logical way to represent this is with a tree node structure.

Constructor & Destructor Documentation

◆ Timer() [1/3]

Timer::Timer ( )
default

Constructor.

◆ ~Timer()

Timer::~Timer ( )

Destructor.

Calls print_summary upon destruction.

◆ Timer() [2/3]

Timer::Timer ( const Timer )
delete

◆ Timer() [3/3]

Timer::Timer ( Timer &&  )
delete

Member Function Documentation

◆ end_section()

void Timer::end_section ( const char name)
static

End the timer section.

◆ operator=() [1/2]

Timer & Timer::operator= ( const Timer )
delete

◆ operator=() [2/2]

Timer & Timer::operator= ( Timer &&  )
delete

◆ parallel_timer()

dealii::TimerOutput & Timer::parallel_timer ( )
static

deal.II timer for parallel MPI process

◆ print_summary()

void Timer::print_summary ( )
static

Print a sorted summary of the timed sections.

◆ serial_timer()

dealii::TimerOutput & Timer::serial_timer ( )
static

deal.II timer for the 0th MPI process

◆ start_section()

void Timer::start_section ( const char name)
static

Start a new timer section.


The documentation for this class was generated from the following files: