PPL Logo

Chare Class Reference

The base class of all parallel objects in Charm++, including Array Elements, Groups, and NodeGroups. More...

#include <charm++.h>

Inheritance diagram for Chare:

Inheritance graph
[legend]
Collaboration diagram for Chare:

Collaboration graph
[legend]

Public Member Functions

 Chare (CkMigrateMessage *m)
 Chare ()
virtual ~Chare ()
virtual void pup (PUP::er &p)
 Pack/UnPack - tell the runtime how to serialize this class's data for migration, checkpoint, etc.
virtual void virtual_pup (PUP::er &p)
 Routine that runtime the runtime actually calls, to enable more intelligence in generated code that overrides this.
void parent_pup (PUP::er &p)
const CkChareIDckGetChareID (void) const
void CkGetChareID (CkChareID *dest) const
void CkEnableObjQ ()
CkObjectMsgQCkGetObjQueue ()
virtual CHARM_INPLACE_NEW int ckGetChareType () const
 Return the type of this chare, as present in _chareTable.
virtual char * ckDebugChareName (void)
 Return a strdup'd array containing this object's string name.
virtual int ckDebugChareID (char *str, int limit)
 Place into str a copy of the id of this object up to limit bytes, return the number of bytes used for the id.
virtual void ckDebugPup (PUP::er &p)
virtual void CkAddThreadListeners (CthThread tid, void *msg)
 Called when a [threaded] charm entry method is created:.
void sanitycheck ()

Data Fields

int magic
int chareIdx
ChareMlogDatamlogData

Protected Attributes

CkChareID thishandle
CkObjectMsgQ objQ

Detailed Description

The base class of all parallel objects in Charm++, including Array Elements, Groups, and NodeGroups.

Definition at line 226 of file charm++.h.


Constructor & Destructor Documentation

Chare::Chare ( CkMigrateMessage m  ) 

Definition at line 84 of file ck.C.

References _defaultObjectQ, CkEnableObjQ(), Converse::CkMyPe(), magic, mlogData, CkChareID::objPtr, CkChareID::onPE, and thishandle.

Here is the call graph for this function:

Chare::Chare ( void   ) 

Chare::~Chare (  )  [virtual]


Member Function Documentation

void Chare::pup ( PUP::er p  )  [virtual]

Pack/UnPack - tell the runtime how to serialize this class's data for migration, checkpoint, etc.

Reimplemented in IrrGroup, ArrayElement, ArrayElemExt, CkArray, RRMap, DefaultArrayMap, FastArrayMap, HilbertArrayMap, ReadFileMap, PropMap, CkArrayMap, CkLocMgr, CkMigratable, CkMulticastMgr, CkGroupInitCallback, CkNodeReductionMgr, NodeGroup, CkReductionMgr, Group, LBDatabase, Cell, Cell2D, Cell1D, Cell3D, ArmciVirtualProcessor, threadCollide, PVT, GVT, TimePool, MemoryPool, pose, and TCharmClient1D.

Definition at line 134 of file ck.C.

References chareIdx, PUP::er::isUnpacking(), magic, mlogData, CkChareID::objPtr, CkChareID::onPE, p, ChareMlogData::pup(), ChareMlogData::teamRecoveryFlag, and thishandle.

Referenced by ckDebugPup(), CkMigratable::pup(), IrrGroup::pup(), and virtual_pup().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void Chare::virtual_pup ( PUP::er p  )  [inline, virtual]

Routine that runtime the runtime actually calls, to enable more intelligence in generated code that overrides this.

The actual pup() method must remain virtual, so that this continues to work for older code.

Definition at line 253 of file charm++.h.

References pup().

Referenced by CkLocMgr::addElementToRec(), CkMigratable::AtSync(), CkArrayPrefetch_readFromSwap(), CkArrayPrefetch_writeToSwap(), CkPupChareData(), CkPupMainChareData(), CkPupPerPlaceData(), and CkLocMgr::pupElementsFor().

Here is the call graph for this function:

Here is the caller graph for this function:

void Chare::parent_pup ( PUP::er p  )  [inline]

Definition at line 254 of file charm++.h.

const CkChareID& Chare::ckGetChareID ( void   )  const [inline]

Definition at line 259 of file charm++.h.

References thishandle.

Referenced by CkCallback::CkCallback(), and PUPmarshall().

Here is the caller graph for this function:

void Chare::CkGetChareID ( CkChareID dest  )  const [inline]

Definition at line 260 of file charm++.h.

References thishandle.

Referenced by main::main().

Here is the caller graph for this function:

void Chare::CkEnableObjQ (  ) 

Definition at line 100 of file ck.C.

References CkObjectMsgQ::create(), and objQ.

Referenced by Chare().

Here is the call graph for this function:

Here is the caller graph for this function:

CkObjectMsgQ& Chare::CkGetObjQueue (  )  [inline]

Definition at line 264 of file charm++.h.

References objQ.

Referenced by _enqObjQueue(), _ObjectQHandler(), _skipCldEnqueue(), and _TokenHandler().

Here is the caller graph for this function:

int Chare::ckGetChareType ( void   )  const [virtual]

Return the type of this chare, as present in _chareTable.

Reimplemented in IrrGroup, and CkMigratable.

Definition at line 154 of file ck.C.

char * Chare::ckDebugChareName ( void   )  [virtual]

Return a strdup'd array containing this object's string name.

Reimplemented in IrrGroup, and ArrayElement.

Definition at line 157 of file ck.C.

References buf, Converse::CkMyPe(), and strdup().

Here is the call graph for this function:

int Chare::ckDebugChareID ( char *  str,
int  limit 
) [virtual]

Place into str a copy of the id of this object up to limit bytes, return the number of bytes used for the id.

Reimplemented in IrrGroup, and ArrayElement.

Definition at line 162 of file ck.C.

void Chare::ckDebugPup ( PUP::er p  )  [virtual]

Definition at line 167 of file ck.C.

References pup().

Here is the call graph for this function:

void Chare::CkAddThreadListeners ( CthThread  tid,
void *  msg 
) [virtual]

Called when a [threaded] charm entry method is created:.

This method is called before starting a [threaded] entry method.

Reimplemented in IrrGroup, CkMigratable, and Group.

Definition at line 172 of file ck.C.

References CthSetThreadID(), CkChareID::objPtr, CkChareID::onPE, thishandle, traceAddThreadListeners(), and UsrToEnv().

Referenced by CkMigratable::CkAddThreadListeners(), and Group::CkAddThreadListeners().

Here is the call graph for this function:

Here is the caller graph for this function:

void Chare::sanitycheck (  )  [inline]

Definition at line 278 of file charm++.h.

References CmiAbort(), and magic.

Referenced by CkLocMgr::pupElementsFor().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 230 of file charm++.h.

Referenced by CkEnableObjQ(), and CkGetObjQueue().

Reimplemented in CkArray, and CkLocMgr.

Definition at line 234 of file charm++.h.

Referenced by Chare(), pup(), and sanitycheck().


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

Generated on Mon Sep 21 08:18:34 2020 for Charm++ by  doxygen 1.5.5