profilingPstream Class Reference

Timers and values for simple (simplistic) mpi-profiling. The entire class behaves as a singleton. More...

Public Types

enum  timingType {
  GATHER = 0, SCATTER, REDUCE, WAIT,
  ALL_TO_ALL
}
 Enumeration within times array. More...
 

Public Member Functions

 profilingPstream ()
 Construct and enable global timer. More...
 
 ~profilingPstream ()
 Destructor - remove global timer. More...
 

Static Public Member Functions

static void enable ()
 Create timer for measuring communication, or reset existing. More...
 
static void disable ()
 Remove timer for measuring communication activity. More...
 
static void suspend ()
 Suspend use of timer (if active) More...
 
static void resume ()
 Resume use of timer (if previously active) More...
 
static bool active ()
 Timer is active. More...
 
static FixedList< scalar, 5 > & times ()
 Access to the timing information. More...
 
static scalar times (const enum timingType idx)
 Access to the timing information. More...
 
static void beginTiming ()
 Update timer prior to measurement. More...
 
static void addTime (const enum timingType idx)
 Add time increment. More...
 
static void addGatherTime ()
 Add time increment to gatherTime. More...
 
static void addScatterTime ()
 Add time increment to scatterTime. More...
 
static void addReduceTime ()
 Add time increment to reduceTime. More...
 
static void addWaitTime ()
 Add time increment to waitTime. More...
 
static void addAllToAllTime ()
 Add time increment to allToAllTime. More...
 

Detailed Description

Timers and values for simple (simplistic) mpi-profiling. The entire class behaves as a singleton.

Source files

Definition at line 54 of file profilingPstream.H.

Member Enumeration Documentation

◆ timingType

enum timingType

Enumeration within times array.

Enumerator
GATHER 
SCATTER 
REDUCE 
WAIT 
ALL_TO_ALL 

Definition at line 69 of file profilingPstream.H.

Constructor & Destructor Documentation

◆ profilingPstream()

Construct and enable global timer.

Definition at line 41 of file profilingPstream.C.

References profilingPstream::enable().

Here is the call graph for this function:

◆ ~profilingPstream()

Destructor - remove global timer.

Definition at line 49 of file profilingPstream.C.

Member Function Documentation

◆ enable()

void enable ( )
static

Create timer for measuring communication, or reset existing.

Definition at line 57 of file profilingPstream.C.

References Foam::Zero.

Referenced by profilingPstream::profilingPstream().

Here is the caller graph for this function:

◆ disable()

void disable ( )
static

Remove timer for measuring communication activity.

Definition at line 78 of file profilingPstream.C.

Referenced by parProfiling::end(), and parProfiling::~parProfiling().

Here is the caller graph for this function:

◆ suspend()

void suspend ( )
static

Suspend use of timer (if active)

Definition at line 85 of file profilingPstream.C.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ resume()

void resume ( )
static

Resume use of timer (if previously active)

Definition at line 92 of file profilingPstream.C.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ active()

static bool active ( )
inlinestatic

Timer is active.

Definition at line 105 of file profilingPstream.H.

References autoPtr< T >::valid().

Referenced by parProfiling::report().

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

◆ times() [1/2]

static FixedList<scalar, 5>& times ( )
inlinestatic

Access to the timing information.

Definition at line 111 of file profilingPstream.H.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ times() [2/2]

static scalar times ( const enum timingType  idx)
inlinestatic

Access to the timing information.

Definition at line 117 of file profilingPstream.H.

◆ beginTiming()

static void beginTiming ( )
inlinestatic

Update timer prior to measurement.

Definition at line 123 of file profilingPstream.H.

References autoPtr< T >::valid().

Referenced by UPstream::allToAll().

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

◆ addTime()

static void addTime ( const enum timingType  idx)
inlinestatic

Add time increment.

Definition at line 132 of file profilingPstream.H.

References autoPtr< T >::valid().

Referenced by profilingPstream::addAllToAllTime(), profilingPstream::addGatherTime(), profilingPstream::addReduceTime(), profilingPstream::addScatterTime(), and profilingPstream::addWaitTime().

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

◆ addGatherTime()

static void addGatherTime ( )
inlinestatic

Add time increment to gatherTime.

Definition at line 141 of file profilingPstream.H.

References profilingPstream::addTime(), and profilingPstream::GATHER.

Here is the call graph for this function:

◆ addScatterTime()

static void addScatterTime ( )
inlinestatic

Add time increment to scatterTime.

Definition at line 147 of file profilingPstream.H.

References profilingPstream::addTime(), and profilingPstream::SCATTER.

Here is the call graph for this function:

◆ addReduceTime()

static void addReduceTime ( )
inlinestatic

Add time increment to reduceTime.

Definition at line 153 of file profilingPstream.H.

References profilingPstream::addTime(), and profilingPstream::REDUCE.

Here is the call graph for this function:

◆ addWaitTime()

static void addWaitTime ( )
inlinestatic

Add time increment to waitTime.

Definition at line 159 of file profilingPstream.H.

References profilingPstream::addTime(), and profilingPstream::WAIT.

Here is the call graph for this function:

◆ addAllToAllTime()

static void addAllToAllTime ( )
inlinestatic

Add time increment to allToAllTime.

Definition at line 165 of file profilingPstream.H.

References profilingPstream::addTime(), and profilingPstream::ALL_TO_ALL.

Referenced by UPstream::allToAll().

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

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