tk::ChareStateCollector class

Chare state Charm++ chare group class

Instantiations of ChareStateCollector comprise a processor aware Charm++ chare group. When instantiated, a new object is created on each PE and not more (as opposed to individual chares or chare array object elements). See also the Charm++ interface file charestatecollector.ci.

Public static functions

static void registerReducers()
Configure Charm++ reduction types.

Constructors, destructors, conversion operators

ChareStateCollector() explicit
ChareStateCollector(CkMigrateMessage* m) explicit
Migrate constructor.

Public functions

void insert(const std::string& ch, int id, int pe, uint64_t it, const std::string& fn)
Insert new state entry.
void collect(bool error, CkCallback cb)
Collect chare state.

Charm++ pack/unpack serializer member functions

std::vector<ChareState> m_state
Chare states.
Timer m_timer
Timer for getting time stamps.
void pup(PUP::er& p) override
Pack/Unpack serialize member function.
void operator|(PUP::er& p, ChareStateCollector& i)
Pack/Unpack serialize operator|.

Function documentation

static void tk::ChareStateCollector::registerReducers()

Configure Charm++ reduction types.

Since this is a [initnode] routine, the runtime system executes the routine exactly once on every logical node early on in the Charm++ init sequence. Must be static as it is called without an object. See also: Section "Initializations at Program Startup" at in the Charm++ manual http://charm.cs.illinois.edu/manuals/html/charm++/manual.html.

tk::ChareStateCollector::ChareStateCollector() explicit

Constructor

Start timer when constructor is called

void tk::ChareStateCollector::insert(const std::string& ch, int id, int pe, uint64_t it, const std::string& fn)

Insert new state entry.

Parameters
ch in Chare name
id in Chare thisIndex
pe in Chare PE happens to reside on
it in Iteration count
fn in Chare member function name

void tk::ChareStateCollector::collect(bool error, CkCallback cb)

Collect chare state.

Parameters
error in If true we are called due to an error, if false, user is just curious
cb in Callback to use for the reduction

void tk::ChareStateCollector::pup(PUP::er& p) override

Pack/Unpack serialize member function.

Parameters
in/out Charm++'s PUP::er serializer object reference

void tk::ChareStateCollector::operator|(PUP::er& p, ChareStateCollector& i)

Pack/Unpack serialize operator|.

Parameters
in/out Charm++'s PUP::er serializer object reference
in/out ChareStateCollector object reference