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...
 
typedef FixedList< double, 5 > timingList
 The timing values. More...
 

Public Member Functions

 profilingPstream ()
 Default construct, enables global timer. More...
 
 ~profilingPstream ()
 Destructor, disables 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 timingListtimes ()
 Access to the timing information. More...
 
static double times (const enum timingType idx)
 Access to the timing information at given index. 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 53 of file profilingPstream.H.

Member Typedef Documentation

◆ timingList

typedef FixedList<double, 5> timingList

The timing values.

Definition at line 70 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 60 of file profilingPstream.H.

Constructor & Destructor Documentation

◆ profilingPstream()

Default construct, enables global timer.

Definition at line 41 of file profilingPstream.C.

References profilingPstream::enable().

Here is the call graph for this function:

◆ ~profilingPstream()

Destructor, disables 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 73 of file profilingPstream.C.

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

Here is the caller graph for this function:

◆ suspend()

static void suspend ( )
inlinestatic

Suspend use of timer (if active)

Definition at line 108 of file profilingPstream.H.

References bool.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ resume()

static void resume ( )
inlinestatic

Resume use of timer (if previously active)

Definition at line 114 of file profilingPstream.H.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ active()

static bool active ( )
inlinestatic

Timer is active.

Definition at line 120 of file profilingPstream.H.

References bool.

Referenced by profilingPstream::addTime(), profilingPstream::beginTiming(), and parProfiling::report().

Here is the caller graph for this function:

◆ times() [1/2]

static timingList& times ( )
inlinestatic

Access to the timing information.

Definition at line 126 of file profilingPstream.H.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ times() [2/2]

static double times ( const enum timingType  idx)
inlinestatic

Access to the timing information at given index.

Definition at line 132 of file profilingPstream.H.

◆ beginTiming()

static void beginTiming ( )
inlinestatic

Update timer prior to measurement.

Definition at line 138 of file profilingPstream.H.

References profilingPstream::active().

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 147 of file profilingPstream.H.

References profilingPstream::active().

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 156 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 162 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 168 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 174 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 180 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: