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 , BROADCAST , REDUCE ,
  WAIT , ALL_TO_ALL
}
 Enumeration within times array. More...
 
typedef FixedList< double, 6 > 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 addBroadcastTime ()
 Add time increment to broadcastTime. 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, 6> timingList

The timing values.

Definition at line 71 of file profilingPstream.H.

Member Enumeration Documentation

◆ timingType

enum timingType

Enumeration within times array.

Enumerator
GATHER 
SCATTER 
BROADCAST 
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 parProfiling::parProfiling(), and 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 109 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 115 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 121 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 127 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 133 of file profilingPstream.H.

◆ beginTiming()

static void beginTiming ( )
inlinestatic

Update timer prior to measurement.

Definition at line 139 of file profilingPstream.H.

References profilingPstream::active().

Here is the call graph for this function:

◆ addTime()

static void addTime ( const enum timingType  idx)
inlinestatic

Add time increment.

Definition at line 148 of file profilingPstream.H.

References profilingPstream::active().

Referenced by profilingPstream::addAllToAllTime(), profilingPstream::addBroadcastTime(), 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 157 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 163 of file profilingPstream.H.

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

Here is the call graph for this function:

◆ addBroadcastTime()

static void addBroadcastTime ( )
inlinestatic

Add time increment to broadcastTime.

Definition at line 169 of file profilingPstream.H.

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

Here is the call graph for this function:

◆ addReduceTime()

static void addReduceTime ( )
inlinestatic

Add time increment to reduceTime.

Definition at line 175 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 181 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 187 of file profilingPstream.H.

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

Here is the call graph for this function:

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