PPL Logo

ck-core/ck.C File Reference

Go to the source code of this file.

Data Structures

class  ElementDestroyer
class  CkMessageRecorder
class  CkMessageDetailRecorder
class  CkMessageReplay
class  CkMessageDetailReplay

Typedefs

typedef std::map< int, CkChareIDVidblockmap

Functions

void automaticallySetMessagePriority (envelope *env)
 Callable from inside charm++ delivery mechanisms (after envelope contains epIdx):.
 CkpvDeclare (CkVec< void * >, chare_objs)
 CkpvDeclare (CkVec< int >, chare_types)
 CkpvDeclare (CkVec< VidBlock * >, vidblocks)
 CkpvDeclare (Vidblockmap, vmap)
 CkpvDeclare (int, currentChareIdx)
void _initChareTables ()
 CKSECTIONID_CONSTRUCTOR_DEF (1D)
void CUDACallbackManager (void *fn)
void CkSetRefNum (void *msg, CMK_REFNUM_TYPE ref)
CMK_REFNUM_TYPE CkGetRefNum (void *msg)
int CkGetSrcPe (void *msg)
int CkGetSrcNode (void *msg)
void * CkLocalBranch (CkGroupID gID)
static void * _ckLocalNodeBranch (CkGroupID groupID)
void * CkLocalNodeBranch (CkGroupID groupID)
void * CkLocalChare (const CkChareID *pCid)
 CkpvDeclare (char **, Ck_argv)
char ** CkGetArgv (void)
int CkGetArgc (void)
void CkDeliverMessageFree (int epIdx, void *msg, void *obj)
void CkDeliverMessageReadonly (int epIdx, const void *msg, void *obj)
static void _invokeEntryNoTrace (int epIdx, envelope *env, void *obj)
static void _invokeEntry (int epIdx, envelope *env, void *obj)
void CkCreateChare (int cIdx, int eIdx, void *msg, CkChareID *pCid, int destPE)
void CkCreateLocalGroup (CkGroupID groupID, int epIdx, envelope *env)
void CkCreateLocalNodeGroup (CkGroupID groupID, int epIdx, envelope *env)
void _createGroup (CkGroupID groupID, envelope *env)
void _createNodeGroup (CkGroupID groupID, envelope *env)
static CkGroupID _groupCreate (envelope *env)
static CkGroupID _nodeGroupCreate (envelope *env)
int _getGroupIdx (int numNodes, int myNode, int numGroups)
CkGroupID CkCreateGroup (int cIdx, int eIdx, void *msg)
CkGroupID CkCreateNodeGroup (int cIdx, int eIdx, void *msg)
static void * _allocNewChare (envelope *env, int &idx)
static void _processNewChareMsg (CkCoreState *ck, envelope *env)
void CkCreateLocalChare (int epIdx, envelope *env)
static void _processNewVChareMsg (CkCoreState *ck, envelope *env)
static void _processForPlainChareMsg (CkCoreState *ck, envelope *env)
static void _processForChareMsg (CkCoreState *ck, envelope *env)
static void _processFillVidMsg (CkCoreState *ck, envelope *env)
static void _processForVidMsg (CkCoreState *ck, envelope *env)
static void _processDeleteVidMsg (CkCoreState *ck, envelope *env)
static IrrGroup_lookupGroupAndBufferIfNotThere (CkCoreState *ck, envelope *env, const CkGroupID &groupID)
 Return a pointer to the local BOC of "groupID".
IrrGrouplookupGroupAndBufferIfNotThere (CkCoreState *ck, envelope *env, const CkGroupID &groupID)
static void _deliverForBocMsg (CkCoreState *ck, int epIdx, envelope *env, IrrGroup *obj)
static void _processForBocMsg (CkCoreState *ck, envelope *env)
static void _deliverForNodeBocMsg (CkCoreState *ck, envelope *env, void *obj)
static void _deliverForNodeBocMsg (CkCoreState *ck, int epIdx, envelope *env, void *obj)
static void _processForNodeBocMsg (CkCoreState *ck, envelope *env)
void _processBocInitMsg (CkCoreState *ck, envelope *env)
void _processNodeBocInitMsg (CkCoreState *ck, envelope *env)
static void _processArrayEltInitMsg (CkCoreState *ck, envelope *env)
static void _processArrayEltMsg (CkCoreState *ck, envelope *env)
void _processHandler (void *converseMsg, CkCoreState *ck)
void _infoFn (void *converseMsg, CldPackFn *pfn, int *len, int *queueing, int *priobits, unsigned int **prioptr)
void CkPackMessage (envelope **pEnv)
void CkUnpackMessage (envelope **pEnv)
void _skipCldHandler (void *converseMsg)
void _skipCldEnqueue (int pe, envelope *env, int infoFn)
static void _noCldEnqueueMulti (int npes, int *pes, envelope *env)
static void _noCldEnqueue (int pe, envelope *env)
void _noCldNodeEnqueue (int node, envelope *env)
static int _prepareMsg (int eIdx, void *msg, const CkChareID *pCid)
static int _prepareImmediateMsg (int eIdx, void *msg, const CkChareID *pCid)
void CkSendMsg (int entryIdx, void *msg, const CkChareID *pCid, int opts)
void CkSendMsgInline (int entryIndex, void *msg, const CkChareID *pCid, int opts)
static envelope_prepareMsgBranch (int eIdx, void *msg, CkGroupID gID, int type)
static envelope_prepareImmediateMsgBranch (int eIdx, void *msg, CkGroupID gID, int type)
static void _sendMsgBranch (int eIdx, void *msg, CkGroupID gID, int pe=CLD_BROADCAST_ALL, int opts=0)
static void _sendMsgBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, int *pes)
void CkSendMsgBranchImmediate (int eIdx, void *msg, int destPE, CkGroupID gID)
void CkSendMsgBranchInline (int eIdx, void *msg, int destPE, CkGroupID gID, int opts)
void CkSendMsgBranch (int eIdx, void *msg, int pe, CkGroupID gID, int opts)
void CkSendMsgBranchMultiImmediate (int eIdx, void *msg, CkGroupID gID, int npes, int *pes)
void CkSendMsgBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, int *pes, int opts)
void CkSendMsgBranchGroup (int eIdx, void *msg, CkGroupID gID, CmiGroup grp, int opts)
void CkBroadcastMsgBranch (int eIdx, void *msg, CkGroupID gID, int opts)
static void _sendMsgNodeBranch (int eIdx, void *msg, CkGroupID gID, int node=CLD_BROADCAST_ALL, int opts=0)
static void _sendMsgNodeBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, int *nodes)
void CkSendMsgNodeBranchImmediate (int eIdx, void *msg, int node, CkGroupID gID)
void CkSendMsgNodeBranchInline (int eIdx, void *msg, int node, CkGroupID gID, int opts)
void CkSendMsgNodeBranch (int eIdx, void *msg, int node, CkGroupID gID, int opts)
void CkSendMsgNodeBranchMultiImmediate (int eIdx, void *msg, CkGroupID gID, int npes, int *nodes)
void CkSendMsgNodeBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, int *nodes, int opts)
void CkBroadcastMsgNodeBranch (int eIdx, void *msg, CkGroupID gID, int opts)
int CkChareMsgPrep (int eIdx, void *msg, const CkChareID *pCid)
void CkGroupMsgPrep (int eIdx, void *msg, CkGroupID gID)
void CkNodeGroupMsgPrep (int eIdx, void *msg, CkGroupID gID)
void _ckModuleInit (void)
void CkArrayManagerInsert (int onPe, void *msg)
static void _prepareOutgoingArrayMsg (envelope *env, int type)
void CkArrayManagerInsert (int pe, void *msg, CkGroupID aID)
void CkArrayManagerDeliver (int pe, void *msg, int opts)
void CkDeleteChares ()
 CkpvDeclare (int, envelopeEventID)
static FILE * openReplayFile (const char *prefix, const char *suffix, const char *permissions)
void CkMessageReplayQuiescence (void *rep, double time)
void CkMessageDetailReplayDone (void *rep, double time)
void CthEnqueueBigSimThread (CthThreadToken *token, int s, int pb, unsigned int *prio)
static CmiBool CpdExecuteThreadResume (CthThreadToken *token)
 CpvCExtern (int, CthResumeNormalThreadIdx)
void CthResumeNormalThreadDebug (CthThreadToken *token)
void CpdHandleLBMessage (LBMigrateMsg **msg)
 CpvExtern (int, CthResumeBigSimThreadIdx)
void CkMessageWatcherInit (char **argv, CkCoreState *ck)
int CkMessageToEpIdx (void *msg)
int getCharmEnvelopeSize ()
int isCharmEnvelope (void *msg)

Variables

int _defaultObjectQ
static int index_objectQHandler
int index_tokenHandler
int index_skipCldHandler
int _recplay_crc = 0
int _recplay_checksum = 0
int _recplay_logsize = 1024*1024


Typedef Documentation

typedef std::map<int, CkChareID> Vidblockmap

Definition at line 28 of file ck.C.


Function Documentation

CkpvDeclare ( CkVec< void * >  ,
chare_objs   
)

CkpvDeclare ( CkVec< int ,
chare_types   
)

CkpvDeclare ( CkVec< VidBlock * >  ,
vidblocks   
)

CkpvDeclare ( Vidblockmap  ,
vmap   
)

CkpvDeclare ( int  ,
currentChareIdx   
)

CKSECTIONID_CONSTRUCTOR_DEF ( 1D   ) 

Definition at line 406 of file ck.C.

void CUDACallbackManager ( void *  fn  ) 

Definition at line 470 of file ck.C.

References CkCallback::send().

static void* _ckLocalNodeBranch ( CkGroupID  groupID  )  [static]

Definition at line 509 of file ck.C.

Referenced by CkLocalNodeBranch().

CkpvDeclare ( char **  ,
Ck_argv   
)

char** CkGetArgv ( void   ) 

int CkGetArgc ( void   ) 

Definition at line 561 of file ck.C.

References CmiGetArgc().

Referenced by armciLibStart(), FTN_NAME(), and PUPfunctionpointer().

static void _invokeEntryNoTrace ( int  epIdx,
envelope env,
void *  obj 
) [inline, static]

Definition at line 618 of file ck.C.

References CkDeliverMessageFree(), and EnvToUsr().

Referenced by _invokeEntry(), CkCreateLocalGroup(), CkCreateLocalNodeGroup(), and CkSendMsgInline().

static void _invokeEntry ( int  epIdx,
envelope env,
void *  obj 
) [inline, static]

void _createGroup ( CkGroupID  groupID,
envelope env 
)

void _createNodeGroup ( CkGroupID  groupID,
envelope env 
)

static CkGroupID _groupCreate ( envelope env  )  [static]

Definition at line 804 of file ck.C.

References _createGroup(), _getGroupIdx(), Converse::CkMyPe(), Converse::CkNumPes(), and _ckGroupID::idx.

Referenced by CkCreateGroup().

static CkGroupID _nodeGroupCreate ( envelope env  )  [static]

int _getGroupIdx ( int  numNodes,
int  myNode,
int  numGroups 
)

Definition at line 837 of file ck.C.

References idx, and n.

Referenced by _groupCreate(), and _nodeGroupCreate().

static void* _allocNewChare ( envelope env,
int idx 
) [inline, static]

static void _processNewChareMsg ( CkCoreState ck,
envelope env 
) [static]

Definition at line 893 of file ck.C.

References _allocNewChare(), _invokeEntry(), envelope::getEpIdx(), and idx.

Referenced by _processHandler(), and CkCreateLocalChare().

void CkCreateLocalChare ( int  epIdx,
envelope env 
)

Definition at line 904 of file ck.C.

References _processNewChareMsg(), and envelope::setEpIdx().

Referenced by CkPupChareData().

static void _processNewVChareMsg ( CkCoreState ck,
envelope env 
) [static]

static void _processForPlainChareMsg ( CkCoreState ck,
envelope env 
) [inline, static]

static void _processForChareMsg ( CkCoreState ck,
envelope env 
) [inline, static]

Definition at line 968 of file ck.C.

References _invokeEntry(), envelope::getEpIdx(), and envelope::getObjPtr().

Referenced by _deliverForNodeBocMsg(), and _processForNodeBocMsg().

static void _processFillVidMsg ( CkCoreState ck,
envelope env 
) [inline, static]

static void _processForVidMsg ( CkCoreState ck,
envelope env 
) [inline, static]

Definition at line 989 of file ck.C.

References envelope::getVidPtr(), and VidBlock::send().

Referenced by _processHandler().

static void _processDeleteVidMsg ( CkCoreState ck,
envelope env 
) [inline, static]

Definition at line 1001 of file ck.C.

References CmiFree(), and envelope::getVidPtr().

Referenced by _processHandler().

static IrrGroup* _lookupGroupAndBufferIfNotThere ( CkCoreState ck,
envelope env,
const CkGroupID groupID 
) [inline, static]

Return a pointer to the local BOC of "groupID".

The message "env" passed in has some known dependency on this groupID (either it is to be delivered to this BOC, or it depends on this BOC being there). Therefore, if the return value is NULL, this function buffers the massage so that it will be re-sent (by CkCreateLocalBranch) when this groupID is eventually constructed. The message passed in must have its handlers correctly set so that it can be scheduled again.

Definition at line 1022 of file ck.C.

References GroupIdxArray< dtype >::find(), CkCoreState::getGroupTable(), CkCoreState::localBranch(), and CkCoreState::process().

Referenced by _processArrayEltInitMsg(), _processArrayEltMsg(), _processBocInitMsg(), _processForBocMsg(), and lookupGroupAndBufferIfNotThere().

IrrGroup* lookupGroupAndBufferIfNotThere ( CkCoreState ck,
envelope env,
const CkGroupID groupID 
)

Definition at line 1037 of file ck.C.

References _lookupGroupAndBufferIfNotThere().

Referenced by CProxy_ArrayBase::ckInsertIdx().

static void _deliverForBocMsg ( CkCoreState ck,
int  epIdx,
envelope env,
IrrGroup obj 
) [inline, static]

static void _processForBocMsg ( CkCoreState ck,
envelope env 
) [inline, static]

static void _deliverForNodeBocMsg ( CkCoreState ck,
envelope env,
void *  obj 
) [inline, static]

static void _deliverForNodeBocMsg ( CkCoreState ck,
int  epIdx,
envelope env,
void *  obj 
) [inline, static]

Definition at line 1078 of file ck.C.

References _deliverForNodeBocMsg(), and envelope::setEpIdx().

static void _processForNodeBocMsg ( CkCoreState ck,
envelope env 
) [inline, static]

void _processBocInitMsg ( CkCoreState ck,
envelope env 
)

void _processNodeBocInitMsg ( CkCoreState ck,
envelope env 
)

static void _processArrayEltInitMsg ( CkCoreState ck,
envelope env 
) [static]

static void _processArrayEltMsg ( CkCoreState ck,
envelope env 
) [static]

void _processHandler ( void *  converseMsg,
CkCoreState ck 
)

void _infoFn ( void *  converseMsg,
CldPackFn pfn,
int len,
int queueing,
int priobits,
unsigned int **  prioptr 
)

void CkPackMessage ( envelope **  pEnv  ) 

void CkUnpackMessage ( envelope **  pEnv  ) 

void _skipCldEnqueue ( int  pe,
envelope env,
int  infoFn 
)

static void _noCldEnqueueMulti ( int  npes,
int pes,
envelope env 
) [static]

static void _noCldEnqueue ( int  pe,
envelope env 
) [static]

void _noCldNodeEnqueue ( int  node,
envelope env 
)

static int _prepareMsg ( int  eIdx,
void *  msg,
const CkChareID pCid 
) [inline, static]

static int _prepareImmediateMsg ( int  eIdx,
void *  msg,
const CkChareID pCid 
) [inline, static]

static envelope* _prepareMsgBranch ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  type 
) [inline, static]

static envelope* _prepareImmediateMsgBranch ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  type 
) [inline, static]

static void _sendMsgBranch ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  pe = CLD_BROADCAST_ALL,
int  opts = 0 
) [inline, static]

static void _sendMsgBranchMulti ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  npes,
int pes 
) [inline, static]

void CkSendMsgBranchImmediate ( int  eIdx,
void *  msg,
int  destPE,
CkGroupID  gID 
)

void CkSendMsgBranchMultiImmediate ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  npes,
int pes 
)

static void _sendMsgNodeBranch ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  node = CLD_BROADCAST_ALL,
int  opts = 0 
) [inline, static]

static void _sendMsgNodeBranchMulti ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  npes,
int nodes 
) [inline, static]

void CkSendMsgNodeBranchImmediate ( int  eIdx,
void *  msg,
int  node,
CkGroupID  gID 
)

void CkSendMsgNodeBranchMultiImmediate ( int  eIdx,
void *  msg,
CkGroupID  gID,
int  npes,
int nodes 
)

void CkArrayManagerInsert ( int  onPe,
void *  msg 
)

static void _prepareOutgoingArrayMsg ( envelope env,
int  type 
) [static]

Definition at line 1983 of file ck.C.

References _charmHandlerIdx, setMemoryOwnedBy(), and envelope::setMsgtype().

Referenced by CkArrayManagerDeliver(), and CkArrayManagerInsert().

void CkDeleteChares (  ) 

Definition at line 2031 of file ck.C.

References BGConverse::CkMyRank(), IrrGroup::isLocMgr(), and CkLocMgr::iterate().

CkpvDeclare ( int  ,
envelopeEventID   
)

static FILE* openReplayFile ( const char *  prefix,
const char *  suffix,
const char *  permissions 
) [static]

void CkMessageReplayQuiescence ( void *  rep,
double  time 
)

Definition at line 2450 of file ck.C.

References Converse::CkMyPe().

Referenced by CkMessageReplay::CkMessageReplay().

void CkMessageDetailReplayDone ( void *  rep,
double  time 
)

void CthEnqueueBigSimThread ( CthThreadToken token,
int  s,
int  pb,
unsigned int prio 
)

Referenced by CkMessageReplay::flush().

static CmiBool CpdExecuteThreadResume ( CthThreadToken token  )  [static]

Definition at line 2464 of file ck.C.

References CmiTrue, and CkCoreState::watcher.

Referenced by CthResumeNormalThreadDebug().

CpvCExtern ( int  ,
CthResumeNormalThreadIdx   
)

void CthResumeNormalThreadDebug ( CthThreadToken token  ) 

void CpdHandleLBMessage ( LBMigrateMsg **  msg  ) 

Definition at line 2496 of file ck.C.

References CkCoreState::watcher.

Referenced by CentralLB::LoadBalance().

CpvExtern ( int  ,
CthResumeBigSimThreadIdx   
)

Referenced by KillOnAllSigs().

void CkMessageWatcherInit ( char **  argv,
CkCoreState ck 
)

int CkMessageToEpIdx ( void *  msg  ) 

int getCharmEnvelopeSize (  ) 

Definition at line 2588 of file ck.C.

Referenced by cpd_memory_single_pup().

int isCharmEnvelope ( void *  msg  ) 


Variable Documentation

Definition at line 1332 of file ck.C.

Definition at line 1334 of file ck.C.

Definition at line 2084 of file ck.C.

Definition at line 2085 of file ck.C.

int _recplay_logsize = 1024*1024

Definition at line 2086 of file ck.C.


Generated on Thu May 24 07:56:00 2012 for Charm++ by  doxygen 1.5.5