PPL Logo

ArrayElement Class Reference
[CkArray]

An array element is a chare that lives inside the array. More...

#include <ckarray.h>

Inheritance diagram for ArrayElement:

Inheritance graph
[legend]
Collaboration diagram for ArrayElement:

Collaboration graph
[legend]

Public Member Functions

 ArrayElement (void)
 ArrayElement (CkMigrateMessage *m)
virtual ~ArrayElement ()
void pup (PUP::er &p)
 Pack/unpack routine (called before and after migration).
virtual void ckAboutToMigrate (void)
 Called by the system just before and after migration to another processor:.
virtual void ckJustMigrated (void)
virtual void ckJustRestored (void)
virtual void ckDestroy (void)
 Delete this object.
virtual char * ckDebugChareName (void)
 Return a strdup'd array containing this object's string name.
virtual int ckDebugChareID (char *, int)
 Place into str a copy of the id of this object up to limit bytes, return the number of bytes used for the id.
void migrateMe (int toPe)
 Synonym for ckMigrate.
void contribute2 (CkArrayIndex myIndex, int dataSize, const void *data, CkReduction::reducerType type, const CkCallback &cb, CMK_REFNUM_TYPE userFlag=(CMK_REFNUM_TYPE)-1)
void contribute2 (int dataSize, const void *data, CkReduction::reducerType type, CMK_REFNUM_TYPE userFlag=(CMK_REFNUM_TYPE)-1)
void contribute2 (int dataSize, const void *data, CkReduction::reducerType type, const CkCallback &cb, CMK_REFNUM_TYPE userFlag=(CMK_REFNUM_TYPE)-1)
void contribute2 (CkReductionMsg *msg)
void contribute2 (const CkCallback &cb, CMK_REFNUM_TYPE userFlag=(CMK_REFNUM_TYPE)-1)
void contribute2 (CMK_REFNUM_TYPE userFlag=(CMK_REFNUM_TYPE)-1)
CK_REDUCTION_CONTRIBUTE_METHODS_DECL
void 
defrag (CkReductionMsg *msg)
const CkArrayIDckGetArrayID (void) const
ck::ObjID ckGetID (void) const
int ckGetArraySize (void) const
int getRedNo (void) const
void inmem_checkpoint (CkArrayCheckPTReqMessage *m)
void recvBroadcast (CkMessage *)

Data Fields

int grid_queue_interval
int grid_queue_threshold
int msg_count
int msg_count_grid
int border_flag

Protected Member Functions

virtual void CkAbort (const char *str) const
 A more verbose form of abort.

Protected Attributes

CkArraythisArray
CkArrayID thisArrayID
int budPEs [2]

Private Member Functions

void initBasics (void)
void init_checkpt ()

Private Attributes

int numInitialElements
AllreduceMgrallredMgr
int listenerData [CK_ARRAYLISTENER_MAXLEN]

Friends

class CkArray
class CkArrayListener
class CkMemCheckPT
class CkLocMgr

Detailed Description

An array element is a chare that lives inside the array.

Unlike regular chares, array elements can migrate from one Pe to another. Each element has a unique index.

Definition at line 290 of file ckarray.h.


Constructor & Destructor Documentation

ArrayElement::ArrayElement ( void   ) 

Definition at line 285 of file ckarray.C.

References init_checkpt(), and initBasics().

Here is the call graph for this function:

ArrayElement::ArrayElement ( CkMigrateMessage m  ) 

Definition at line 293 of file ckarray.C.

References initBasics().

Here is the call graph for this function:

ArrayElement::~ArrayElement (  )  [virtual]

Definition at line 426 of file ckarray.C.

References ckGetID(), and thisArray.

Here is the call graph for this function:


Member Function Documentation

void ArrayElement::initBasics ( void   )  [private]

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

Pack/unpack routine (called before and after migration).

Reimplemented from CkMigratable.

Reimplemented in ArrayElemExt, Cell, Cell2D, Cell1D, Cell3D, ArmciVirtualProcessor, threadCollide, and TCharmClient1D.

Definition at line 439 of file ckarray.C.

References border_flag, budPEs, CkArrayID::ckLocalBranch(), grid_queue_interval, grid_queue_threshold, PUP::er::isUnpacking(), listenerData, msg_count, msg_count_grid, p, CkArrayID::pup(), CkMigratable::pup(), PUP::sync_last_system, PUP::er::syncComment(), thisArray, and thisArrayID.

Referenced by TCharmClient1D::pup(), Cell::pup(), and ArrayElemExt::pup().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::ckAboutToMigrate ( void   )  [virtual]

Called by the system just before and after migration to another processor:.

Reimplemented from CkMigratable.

Definition at line 299 of file ckarray.C.

References CkMigratable::ckAboutToMigrate(), PUP::l, CkArray::listeners, and thisArray.

Referenced by TCharm::ckAboutToMigrate().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::ckJustMigrated ( void   )  [virtual]

Reimplemented from CkMigratable.

Reimplemented in threadCollide, and TCharmClient1D.

Definition at line 304 of file ckarray.C.

References CkMigratable::ckJustMigrated(), PUP::l, CkArray::listeners, and thisArray.

Referenced by TCharmClient1D::ckJustMigrated(), TCharm::ckJustMigrated(), ParFUMShadowArray::ckJustMigrated(), femMeshModify::ckJustMigrated(), and MBlockChunk::ckJustMigrated().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::ckJustRestored ( void   )  [virtual]

Reimplemented from CkMigratable.

Definition at line 310 of file ckarray.C.

References CkMigratable::ckJustRestored().

Referenced by TCharm::ckJustRestored().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::ckDestroy ( void   )  [virtual]

Delete this object.

Reimplemented from CkMigratable.

Definition at line 416 of file ckarray.C.

References _BgOutOfCoreFlag, CkMigratable::ckGetID(), CkArray::deleteElt(), PUP::l, CkArray::listeners, and thisArray.

Here is the call graph for this function:

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

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

Reimplemented from Chare.

Definition at line 465 of file ckarray.C.

References _chareTable, buf, CkMigratable::ckGetChareType(), PUP::d, PUP::s, strdup(), and CkMigratable::thisIndexMax.

Referenced by CpdList_arrayElements::add(), and CpdList_arrayElementNames::add().

Here is the call graph for this function:

Here is the caller graph for this function:

int ArrayElement::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 from Chare.

Definition at line 483 of file ckarray.C.

References thisArrayID, and CkMigratable::thisIndexMax.

void ArrayElement::migrateMe ( int  toPe  )  [inline]

Synonym for ckMigrate.

Definition at line 320 of file ckarray.h.

Referenced by CkMigrateExt().

Here is the caller graph for this function:

void ArrayElement::contribute2 ( CkArrayIndex  myIndex,
int  dataSize,
const void *  data,
CkReduction::reducerType  type,
const CkCallback cb,
CMK_REFNUM_TYPE  userFlag = (CMK_REFNUM_TYPE)-1 
)

void ArrayElement::contribute2 ( int  dataSize,
const void *  data,
CkReduction::reducerType  type,
CMK_REFNUM_TYPE  userFlag = (CMK_REFNUM_TYPE)-1 
)

void ArrayElement::contribute2 ( int  dataSize,
const void *  data,
CkReduction::reducerType  type,
const CkCallback cb,
CMK_REFNUM_TYPE  userFlag = (CMK_REFNUM_TYPE)-1 
)

void ArrayElement::contribute2 ( CkReductionMsg msg  ) 

Definition at line 333 of file ckarray.C.

References CkArrayListener::ckGetOffset(), CkReductionMgr::contribute(), listenerData, CkArray::reducer, CkReductionMsg::setMigratableContributor(), and thisArray.

Here is the call graph for this function:

void ArrayElement::contribute2 ( const CkCallback cb,
CMK_REFNUM_TYPE  userFlag = (CMK_REFNUM_TYPE)-1 
)

void ArrayElement::contribute2 ( CMK_REFNUM_TYPE  userFlag = (CMK_REFNUM_TYPE)-1  ) 

CK_REDUCTION_CONTRIBUTE_METHODS_DECL void ArrayElement::defrag ( CkReductionMsg msg  )  [inline]

const CkArrayID& ArrayElement::ckGetArrayID ( void   )  const [inline]

Definition at line 337 of file ckarray.h.

Referenced by CkCallback::CkCallback().

Here is the caller graph for this function:

ck::ObjID ArrayElement::ckGetID ( void   )  const [inline]

Reimplemented from CkMigratable.

Definition at line 338 of file ckarray.h.

Referenced by CkArrayBroadcaster::deliver(), initBasics(), and ~ArrayElement().

Here is the caller graph for this function:

int ArrayElement::ckGetArraySize ( void   )  const [inline]

Definition at line 340 of file ckarray.h.

int ArrayElement::getRedNo ( void   )  const

Definition at line 408 of file ckarray.C.

References CkArrayListener::ckGetOffset(), listenerData, CkArray::reducer, and thisArray.

Referenced by CkArrayGetReductionNumber().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::CkAbort ( const char *  str  )  const [protected, virtual]

A more verbose form of abort.

Reimplemented from CkMigratable.

Definition at line 492 of file ckarray.C.

References CkMigratable::CkAbort(), Converse::CkMyPe(), idx2str(), and CkMigratable::thisIndexMax.

Referenced by chunk::deriveNodes(), TCharmClient1D::findThread(), chunk::sanityCheck(), and chunk::updateNodeCoords().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::init_checkpt (  )  [private]

Definition at line 167 of file ckmemcheckpoint.C.

References _memChkptOn, budPEs, CkInRestarting(), Converse::CkMyPe(), CkLocMgr::getGroupID(), CkArray::getLocMgr(), CkLocMgr::managers, thisArray, thisArrayID, and CkMigratable::thisIndexMax.

Referenced by ArrayElement().

Here is the call graph for this function:

Here is the caller graph for this function:

void ArrayElement::inmem_checkpoint ( CkArrayCheckPTReqMessage m  ) 

void ArrayElement::recvBroadcast ( CkMessage m  ) 

Definition at line 499 of file ckarray.C.

References CkMigratable::ckInvokeEntry(), and UsrToEnv().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class CkArray [friend]

Definition at line 292 of file ckarray.h.

friend class CkArrayListener [friend]

Definition at line 294 of file ckarray.h.

friend class CkMemCheckPT [friend]

Definition at line 356 of file ckarray.h.

friend class CkLocMgr [friend]

Reimplemented from CkMigratable.

Definition at line 357 of file ckarray.h.


Field Documentation

Definition at line 295 of file ckarray.h.

Referenced by initBasics().

Definition at line 298 of file ckarray.h.

Referenced by CK_REDUCTION_CONTRIBUTE_METHODS_DEF(), contribute2(), and initBasics().

int ArrayElement::listenerData[CK_ARRAYLISTENER_MAXLEN] [private]

int ArrayElement::budPEs[2] [protected]

Definition at line 359 of file ckarray.h.

Referenced by init_checkpt(), inmem_checkpoint(), CkMemCheckPT::inmem_restore(), and pup().

Definition at line 369 of file ckarray.h.

Referenced by initBasics(), and pup().

Definition at line 370 of file ckarray.h.

Referenced by initBasics(), and pup().

Reimplemented in Cell.

Definition at line 371 of file ckarray.h.

Referenced by initBasics(), and pup().

Definition at line 372 of file ckarray.h.

Referenced by initBasics(), and pup().

Definition at line 373 of file ckarray.h.

Referenced by initBasics(), and pup().


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

Generated on Mon Sep 21 08:17:41 2020 for Charm++ by  doxygen 1.5.5