MPQC  3.0.0-alpha
sc::ParallelRegionTimer Class Reference

This is a parallel-away derivative of RegionTimer. More...

#include <util/group/pregtime.h>

Inheritance diagram for sc::ParallelRegionTimer:
sc::RegionTimer sc::DescribedClass sc::RefCount

Public Member Functions

 ParallelRegionTimer (const Ref< MessageGrp > &, const char *topname="total", int cpu_time=0, int wall_time=1)
 
 ParallelRegionTimer (const Ref< KeyVal > &)
 
void print (std::ostream &=ExEnv::out0()) const
 Print the object.
 
- Public Member Functions inherited from sc::RegionTimer
 RegionTimer (const char *topname="total", int cpu_time=0, int wall_time=1)
 
 RegionTimer (const Ref< KeyVal > &)
 
void enter (const char *=0)
 
void change (const char *newname, const char *oldname=0)
 
void exit (const char *=0, bool do_not_throw=false)
 
double cpu_time (const char *name=0) const
 
double wall_time (const char *name=0) const
 
double flops (const char *name=0) const
 
void set_default (const char *)
 
void unset_default ()
 
void enter_default ()
 
void exit_default ()
 
void reset ()
 
void merge (const Ref< RegionTimer > &r)
 Include the regions in r in this object's regions.
 
void update_top () const
 
int nregion () const
 
void get_region_names (const char *names[]) const
 
void get_wall_times (double *) const
 
void get_cpu_times (double *) const
 
void get_flops (double *) const
 
void get_depth (int *) const
 
void add_wall_time (const char *, double)
 
void add_cpu_time (const char *, double)
 
void add_flops (const char *, double)
 
void acquire_timed_region (TimedRegion *r)
 Add r as a subregion of current_. After invocation, r is owned by this RegionTimer.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer. More...
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types. More...
 
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 
void unmanage ()
 Turn off the reference counting mechanism for this object. More...
 

Protected Member Functions

void send_subregions (int node, const TimedRegion *r) const
 
void recv_subregions (int node, TimedRegion *r) const
 
void all_reduce_regions () const
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

Ref< MessageGrpmsg_
 
- Protected Attributes inherited from sc::RegionTimer
int wall_time_
 
int cpu_time_
 
int flops_
 
TimedRegiontop_
 
TimedRegioncurrent_
 
TimedRegiondefault_
 
std::list< TimedRegion * > defaults_
 

Additional Inherited Members

- Static Public Member Functions inherited from sc::RegionTimer
static double get_wall_time ()
 
static double get_cpu_time ()
 
static double get_flops ()
 
static RegionTimerdefault_regiontimer ()
 
static void set_default_regiontimer (const Ref< RegionTimer > &)
 

Detailed Description

This is a parallel-away derivative of RegionTimer.

It will compute region timings by summing them across nodes. Timings will be printed by node zero only.


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

Generated at Sun Jan 26 2020 23:24:08 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.