PPL Logo

CkLocRec_local Class Reference
[CkArrayImpl]

Represents a local array element. More...

#include <cklocation.h>

Inheritance diagram for CkLocRec_local:

Inheritance graph
[legend]
Collaboration diagram for CkLocRec_local:

Collaboration graph
[legend]

Public Member Functions

 CkLocRec_local (CkLocMgr *mgr, CmiBool fromMigration, CmiBool ignoreArrival, const CkArrayIndex &idx_, int localIdx_)
 Stores messages for nonexistent siblings of existing elements.
void migrateMe (int toPe)
void destroy (void)
virtual ~CkLocRec_local ()
void addedElement (void)
 A new element has been added to this index.
virtual CmiBool deliver (CkArrayMessage *m, CkDeliver_t type, int opts=0)
 Accept a message for this element.
CmiBool invokeEntry (CkMigratable *obj, void *msg, int idx, CmiBool doFree)
 Invoke the given entry method on this element.
virtual RecType type (void)
virtual CmiBool isObsolete (int nSprings, const CkArrayIndex &idx)
 Return if this rec is now obsolete.
void startTiming (int ignore_running=0)
 Control the load balancer:.
void stopTiming (int ignore_running=0)
void setObjTime (double cputime)
double getObjTime ()
void startTiming (int ignore_running=0)
void stopTiming (int ignore_running=0)
int getLocalIndex (void) const
const CkArrayIndexgetIndex (void) const
virtual CkMigratablelookupElement (CkArrayID aid)
 Return the represented array element; or NULL if there is none.
virtual int lookupProcessor (void)
 Return the last known processor; or -1 if none.
LBDatabasegetLBDB (void) const
LDObjHandle getLdHandle () const
void recvMigrate (int dest)
void setMigratable (int migratable)
void AsyncMigrate (CmiBool use)
 set migratable
CmiBool isAsyncMigrate ()
void ReadyMigrate (CmiBool ready)
int isReadyMigrate ()
 called from user
CmiBool checkBufferedMigration ()
int MigrateToPe ()
void Migrated ()
void setMeasure (CmiBool status)
CmiBool isAsyncEvacuate ()
void AsyncEvacuate (CmiBool set)
CmiBool isBounced ()
void Bounced (CmiBool set)

Static Public Member Functions

static void staticMigrate (LDObjHandle h, int dest)

Private Member Functions

void AsyncMigrate (CmiBool use)
 next migration dest processor

Private Attributes

CkArrayIndex idx
int localIdx
 Element's array index.
CmiBool running
 Local index (into array manager's element lists).
CmiBooldeletedMarker
 True when inside a startTiming/stopTiming pair.
CkQ< CkArrayMessage * > halfCreated
 Set this if we're deleted during processing.
LBDatabasethe_lbdb
LDObjHandle ldHandle
CmiBool asyncMigrate
CmiBool readyMigrate
 if readyMove is inited
CmiBool enable_measure
 status whether it is ready to migrate
int nextPe
CmiBool asyncEvacuate
 FAULT_EVAC.
CmiBool bounced

Detailed Description

Represents a local array element.

Definition at line 165 of file cklocation.h.


Constructor & Destructor Documentation

CkLocRec_local::CkLocRec_local ( CkLocMgr mgr,
CmiBool  fromMigration,
CmiBool  ignoreArrival,
const CkArrayIndex idx_,
int  localIdx_ 
)

CkLocRec_local::~CkLocRec_local (  )  [virtual]


Member Function Documentation

void CkLocRec_local::migrateMe ( int  toPe  ) 

void CkLocRec_local::destroy ( void   ) 

Definition at line 1331 of file cklocation.C.

Referenced by CkMigratable::ckDestroy().

void CkLocRec_local::addedElement ( void   ) 

A new element has been added to this index.

Definition at line 1351 of file cklocation.C.

References CkArrayManagerDeliver(), Converse::CkMyPe(), CkQ< T >::deq(), halfCreated, and CkQ< T >::isEmpty().

Referenced by CkLocMgr::addElement().

CmiBool CkLocRec_local::deliver ( CkArrayMessage m,
CkDeliver_t  type,
int  opts = 0 
) [virtual]

CmiBool CkLocRec_local::invokeEntry ( CkMigratable obj,
void *  msg,
int  idx,
CmiBool  doFree 
)

CkLocRec::RecType CkLocRec_local::type ( void   )  [virtual]

Implements CkLocRec.

Definition at line 1346 of file cklocation.C.

References CkLocRec::local.

CmiBool CkLocRec_local::isObsolete ( int  nSprings,
const CkArrayIndex idx 
) [virtual]

Return if this rec is now obsolete.

Implements CkLocRec.

Definition at line 1359 of file cklocation.C.

References CmiFalse, halfCreated, idx, idx2str(), and CkQ< T >::length().

void CkLocRec_local::startTiming ( int  ignore_running = 0  ) 

Control the load balancer:.

Definition at line 1311 of file cklocation.C.

References CmiTrue, enable_measure, idx, idx2str(), ldHandle, LBDatabase::ObjectStart(), running, and the_lbdb.

Referenced by CkMigratable::ckStartTiming(), invokeEntry(), and CkMigratable::timingBeforeCall().

void CkLocRec_local::stopTiming ( int  ignore_running = 0  ) 

void CkLocRec_local::setObjTime ( double  cputime  ) 

Definition at line 1321 of file cklocation.C.

References LBDatabase::EstObjLoad(), ldHandle, and the_lbdb.

Referenced by CkMigratable::setObjTime().

double CkLocRec_local::getObjTime (  ) 

Definition at line 1324 of file cklocation.C.

References LBDatabase::GetObjLoad(), ldHandle, and the_lbdb.

Referenced by CkMigratable::getObjTime().

void CkLocRec_local::startTiming ( int  ignore_running = 0  )  [inline]

Definition at line 205 of file cklocation.h.

void CkLocRec_local::stopTiming ( int  ignore_running = 0  )  [inline]

Definition at line 206 of file cklocation.h.

int CkLocRec_local::getLocalIndex ( void   )  const [inline]

const CkArrayIndex& CkLocRec_local::getIndex ( void   )  const [inline]

CkMigratable * CkLocRec_local::lookupElement ( CkArrayID  aid  )  [virtual]

Return the represented array element; or NULL if there is none.

Reimplemented from CkLocRec.

Definition at line 1337 of file cklocation.C.

References localIdx, CkLocMgr::lookupLocal(), and CkLocRec::myLocMgr.

int CkLocRec_local::lookupProcessor ( void   )  [virtual]

Return the last known processor; or -1 if none.

Reimplemented from CkLocRec.

Definition at line 1342 of file cklocation.C.

References Converse::CkMyPe().

LBDatabase* CkLocRec_local::getLBDB ( void   )  const [inline]

LDObjHandle CkLocRec_local::getLdHandle (  )  const [inline]

Definition at line 216 of file cklocation.h.

References ldHandle.

Referenced by _verifyAckRequestHandler().

void CkLocRec_local::staticMigrate ( LDObjHandle  h,
int  dest 
) [static]

Definition at line 1528 of file cklocation.C.

References idx, idx2str(), LDObjUserData(), and recvMigrate().

void CkLocRec_local::recvMigrate ( int  dest  ) 

Definition at line 1535 of file cklocation.C.

References migrateMe(), nextPe, and readyMigrate.

Referenced by staticMigrate().

void CkLocRec_local::setMigratable ( int  migratable  ) 

void CkLocRec_local::AsyncMigrate ( CmiBool  use  ) 

CmiBool CkLocRec_local::isAsyncMigrate (  )  [inline]

Definition at line 221 of file cklocation.h.

References asyncMigrate.

Referenced by CkLocMgr::emigrate().

void CkLocRec_local::ReadyMigrate ( CmiBool  ready  )  [inline]

Definition at line 222 of file cklocation.h.

References readyMigrate.

Referenced by CkMigratable::pup(), and CkMigratable::ReadyMigrate().

int CkLocRec_local::isReadyMigrate (  )  [inline]

called from user

Definition at line 223 of file cklocation.h.

References readyMigrate.

Referenced by CkMigratable::pup().

CmiBool CkLocRec_local::checkBufferedMigration (  ) 

Definition at line 1549 of file cklocation.C.

References CmiFalse, CmiTrue, migrateMe(), nextPe, and readyMigrate.

Referenced by invokeEntry().

int CkLocRec_local::MigrateToPe (  ) 

Definition at line 1564 of file cklocation.C.

References nextPe.

Referenced by CkMigratable::MigrateToPe().

void CkLocRec_local::Migrated (  ) 

Definition at line 1579 of file cklocation.C.

References CmiTrue, ldHandle, LBDatabase::Migrated(), and the_lbdb.

void CkLocRec_local::setMeasure ( CmiBool  status  )  [inline]

Definition at line 229 of file cklocation.h.

References enable_measure.

Referenced by CkMigratable::ckFinishConstruction().

void CkLocRec_local::AsyncMigrate ( CmiBool  use  )  [inline, private]

next migration dest processor

Definition at line 238 of file cklocation.h.

CmiBool CkLocRec_local::isAsyncEvacuate (  )  [inline]

Definition at line 248 of file cklocation.h.

References asyncEvacuate.

Referenced by CkElementEvacuate::addLocation().

void CkLocRec_local::AsyncEvacuate ( CmiBool  set  )  [inline]

Definition at line 249 of file cklocation.h.

References asyncEvacuate.

Referenced by CkMigratable::AsyncEvacuate(), and CkMigratable::pup().

CmiBool CkLocRec_local::isBounced (  )  [inline]

Definition at line 250 of file cklocation.h.

References bounced.

Referenced by CkLocMgr::emigrate().

void CkLocRec_local::Bounced ( CmiBool  set  )  [inline]

Definition at line 251 of file cklocation.h.

References bounced.

Referenced by CkLocMgr::immigrate().


Field Documentation

Element's array index.

Definition at line 167 of file cklocation.h.

Referenced by deliver(), getLocalIndex(), lookupElement(), and ~CkLocRec_local().

Local index (into array manager's element lists).

Definition at line 168 of file cklocation.h.

Referenced by startTiming(), and stopTiming().

True when inside a startTiming/stopTiming pair.

Definition at line 169 of file cklocation.h.

Referenced by invokeEntry(), and ~CkLocRec_local().

Set this if we're deleted during processing.

Definition at line 170 of file cklocation.h.

Referenced by addedElement(), deliver(), and isObsolete().

Definition at line 233 of file cklocation.h.

Referenced by AsyncMigrate(), CkLocRec_local(), and isAsyncMigrate().

if readyMove is inited

Definition at line 234 of file cklocation.h.

Referenced by checkBufferedMigration(), CkLocRec_local(), isReadyMigrate(), ReadyMigrate(), and recvMigrate().

status whether it is ready to migrate

Definition at line 235 of file cklocation.h.

Referenced by CkLocRec_local(), setMeasure(), startTiming(), and stopTiming().

Definition at line 236 of file cklocation.h.

Referenced by checkBufferedMigration(), CkLocRec_local(), MigrateToPe(), and recvMigrate().

FAULT_EVAC.

Definition at line 238 of file cklocation.h.

Referenced by AsyncEvacuate(), CkLocRec_local(), and isAsyncEvacuate().

Definition at line 243 of file cklocation.h.

Referenced by Bounced(), CkLocRec_local(), and isBounced().


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

Generated on Thu May 24 07:57:22 2012 for Charm++ by  doxygen 1.5.5