Public Types | Public Member Functions | Static Public Member Functions | List of all members
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, OTHER
}
 Enumeration within times array. More...
 
typedef FixedList< double, 7 > 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 () noexcept
 Remove timer for measuring communication activity. More...
 
static void suspend () noexcept
 Suspend use of timer (if active) More...
 
static void resume () noexcept
 Resume use of timer (if previously active) More...
 
static bool active () noexcept
 Timer is active (not suspended and enabled) More...
 
static timingListtimes () noexcept
 Access to the timing information. More...
 
static double times (const timingType idx)
 Access to the timing information at given index. More...
 
static void beginTiming ()
 Update timer prior to measurement. More...
 
static void addTime (const timingType idx)
 Add time increment. More...
 
static void addGatherTime ()
 Add time increment to gather time. More...
 
static void addScatterTime ()
 Add time increment to scatter time. More...
 
static void addBroadcastTime ()
 Add time increment to broadcast time. More...
 
static void addReduceTime ()
 Add time increment to reduce time. More...
 
static void addWaitTime ()
 Add time increment to wait time. More...
 
static void addAllToAllTime ()
 Add time increment to allToAll time. More...
 
static void addOtherTime ()
 Add time increment to other time. More...
 

Detailed Description

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

Source files

Definition at line 49 of file profilingPstream.H.

Member Typedef Documentation

◆ timingList

typedef FixedList<double, 7> timingList

The timing values.

Definition at line 72 of file profilingPstream.H.

Member Enumeration Documentation

◆ timingType

enum timingType

Enumeration within times array.

Enumerator
GATHER 
SCATTER 
BROADCAST 
REDUCE 
WAIT 
ALL_TO_ALL 
OTHER 

Definition at line 58 of file profilingPstream.H.

Constructor & Destructor Documentation

◆ profilingPstream()

Default construct, enables global timer.

Definition at line 34 of file profilingPstream.C.

References profilingPstream::enable().

Here is the call graph for this function:

◆ ~profilingPstream()

Destructor, disables global timer.

Definition at line 42 of file profilingPstream.C.

Member Function Documentation

◆ enable()

void enable ( )
static

Create timer for measuring communication, or reset existing.

Definition at line 50 of file profilingPstream.C.

References Foam::Zero.

Referenced by profilingPstream::profilingPstream().

Here is the caller graph for this function:

◆ disable()

void disable ( )
staticnoexcept

Remove timer for measuring communication activity.

Definition at line 66 of file profilingPstream.C.

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

Here is the caller graph for this function:

◆ suspend()

static void suspend ( )
inlinestaticnoexcept

Suspend use of timer (if active)

Definition at line 126 of file profilingPstream.H.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ resume()

static void resume ( )
inlinestaticnoexcept

Resume use of timer (if previously active)

Definition at line 134 of file profilingPstream.H.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ active()

static bool active ( )
inlinestaticnoexcept

Timer is active (not suspended and enabled)

Definition at line 142 of file profilingPstream.H.

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

Here is the caller graph for this function:

◆ times() [1/2]

static timingList& times ( )
inlinestaticnoexcept

Access to the timing information.

Definition at line 150 of file profilingPstream.H.

Referenced by parProfiling::report().

Here is the caller graph for this function:

◆ times() [2/2]

static double times ( const timingType  idx)
inlinestatic

Access to the timing information at given index.

Definition at line 158 of file profilingPstream.H.

◆ beginTiming()

static void beginTiming ( )
inlinestatic

Update timer prior to measurement.

Definition at line 166 of file profilingPstream.H.

References profilingPstream::active().

Here is the call graph for this function:

◆ addTime()

static void addTime ( const timingType  idx)
inlinestatic

◆ addGatherTime()

static void addGatherTime ( )
inlinestatic

Add time increment to gather time.

Definition at line 188 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

◆ addScatterTime()

static void addScatterTime ( )
inlinestatic

Add time increment to scatter time.

Definition at line 196 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

◆ addBroadcastTime()

static void addBroadcastTime ( )
inlinestatic

Add time increment to broadcast time.

Definition at line 204 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

◆ addReduceTime()

static void addReduceTime ( )
inlinestatic

Add time increment to reduce time.

Definition at line 212 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

◆ addWaitTime()

static void addWaitTime ( )
inlinestatic

Add time increment to wait time.

Definition at line 220 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

◆ addAllToAllTime()

static void addAllToAllTime ( )
inlinestatic

Add time increment to allToAll time.

Definition at line 228 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

◆ addOtherTime()

static void addOtherTime ( )
inlinestatic

Add time increment to other time.

Definition at line 236 of file profilingPstream.H.

References profilingPstream::addTime().

Here is the call graph for this function:

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