MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
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.
 
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.
 
- 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.
 
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
 Return 1 if the object is managed. Otherwise return 0.
 

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.

Member Function Documentation

◆ print()

void sc::ParallelRegionTimer::print ( std::ostream & = ExEnv::out0()) const
virtual

Print the object.

Reimplemented from sc::RegionTimer.


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

Generated at Wed Sep 25 2024 02:45:34 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.