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

 CkpvDeclare (std::vector< void * >, chare_objs)
 CkpvDeclare (std::vector< int >, chare_types)
 CkpvDeclare (std::vector< VidBlock * >, vidblocks)
 CkpvDeclare (Vidblockmap, vmap)
 CkpvDeclare (int, currentChareIdx)
 CkpvDeclare (ArrayObjMap, array_objs)
void _initChareTables ()
 CKSECTIONID_CONSTRUCTOR_DEF (1D)
void CUDACallbackManager (void *fn)
void QdCreate (int n)
void QdProcess (int n)
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)
bool isGroupDepUnsatisfied (const CkCoreState *ck, const envelope *env)
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 _processFillVidMsg (CkCoreState *ck, envelope *env)
static void _processForVidMsg (CkCoreState *ck, envelope *env)
static void _processDeleteVidMsg (CkCoreState *ck, envelope *env)
static IrrGroup_lookupGroupAndBufferIfNotThere (const CkCoreState *ck, const 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)
IrrGroup_getCkLocalBranchFromGroupID (CkGroupID &gID)
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 _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, const 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, const 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, const int *pes)
void CkSendMsgBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, const 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, const 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, const int *nodes)
void CkSendMsgNodeBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, const 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)
static void _prepareOutgoingArrayMsg (envelope *env, int type)
void CkArrayManagerDeliver (int pe, void *msg, int opts)
void CkDeleteChares ()
void CthEnqueueBigSimThread (CthThreadToken *token, int s, int pb, unsigned int *prio)
void StartCharmExt (int argc, char **argv)
void registerCkRegisterMainModuleCallback (void(*cb)())
void registerMainchareCtorExtCallback (void(*cb)(int, void *, int, int, char **))
void registerReadOnlyRecvExtCallback (void(*cb)(int, char *))
void registerChareMsgRecvExtCallback (void(*cb)(int, void *, int, int, char *, int))
void registerGroupMsgRecvExtCallback (void(*cb)(int, int, int, char *, int))
void registerArrayMsgRecvExtCallback (void(*cb)(int, int, int *, int, int, char *, int))
void registerArrayElemLeaveExtCallback (int(*cb)(int, int, int *, char **, int))
void registerArrayElemJoinExtCallback (void(*cb)(int, int, int *, int, char *, int))
void registerArrayResumeFromSyncExtCallback (void(*cb)(int, int, int *))
void registerCreateReductionTargetMsgExtCallback (void(*cb)(void *, int, int, int, char **, int *))
void registerPyReductionExtCallback (int(*cb)(char **, int *, int, char **))
void registerArrayMapProcNumExtCallback (int(*cb)(int, int, const int *))
int CkMyPeHook ()
int CkNumPesHook ()
 CkpvExtern (int, _currentChareType)
int CkCreateGroupExt (int cIdx, int eIdx, int num_bufs, char **bufs, int *buf_sizes)
int CkCreateArrayExt (int cIdx, int ndims, int *dims, int eIdx, int num_bufs, char **bufs, int *buf_sizes, int map_gid, char useAtSync)
void CkInsertArrayExt (int aid, int ndims, int *index, int epIdx, int onPE, int num_bufs, char **bufs, int *buf_sizes, char useAtSync)
void CkMigrateExt (int aid, int ndims, int *index, int toPe)
void CkArrayDoneInsertingExt (int aid)
int CkGroupGetReductionNumber (int g_id)
 Get current redNo of specified group instance on this PE.
int CkArrayGetReductionNumber (int aid, int ndims, int *index)
 Get current redNo of specified array element on this PE.
void CkChareExtSend (int onPE, void *objPtr, int epIdx, char *msg, int msgSize)
 Send msg to chare with ID (onPe,objPtr) to entry method 'epIdx'.
void CkChareExtSend_multi (int onPE, void *objPtr, int epIdx, int num_bufs, char **bufs, int *buf_sizes)
 Send msg to chare copying data into CkMessage from multiple input buffers.
void CkGroupExtSend (int gid, int pe, int epIdx, char *msg, int msgSize)
 Send msg to group with ID 'gid'.
void CkGroupExtSend_multi (int gid, int pe, int epIdx, int num_bufs, char **bufs, int *buf_sizes)
 Send msg to group copying data into CkMessage from multiple input buffers.
void CkArrayExtSend (int aid, int *idx, int ndims, int epIdx, char *msg, int msgSize)
 Send msg to array with ID 'aid'.
void CkArrayExtSend_multi (int aid, int *idx, int ndims, int epIdx, int num_bufs, char **bufs, int *buf_sizes)
 Send msg to array copying data into CkMessage from multiple input buffers.
 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)
static bool CpdExecuteThreadResume (CthThreadToken *token)
 CpvExtern (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)
 Best-effort guess at whether.

Variables

int _defaultObjectQ
static int index_objectQHandler
int index_tokenHandler
int index_skipCldHandler
static std::vector
< std::vector< char > > 
ext_args
static std::vector< char * > ext_argv
void(* CkRegisterMainModuleCallback )() = NULL
void(* MainchareCtorExtCallback )(int, void *, int, int, char **) = NULL
void(* ReadOnlyRecvExtCallback )(int, char *) = NULL
void(* ChareMsgRecvExtCallback )(int, void *, int, int, char *, int) = NULL
void(* GroupMsgRecvExtCallback )(int, int, int, char *, int) = NULL
void(* ArrayMsgRecvExtCallback )(int, int, int *, int, int, char *, int) = NULL
int(* ArrayElemLeaveExt )(int, int, int *, char **, int) = NULL
void(* ArrayElemJoinExt )(int, int, int *, int, char *, int) = NULL
void(* ArrayResumeFromSyncExtCallback )(int, int, int *) = NULL
void(* CreateReductionTargetMsgExt )(void *, int, int, int, char **, int *) = NULL
int(* PyReductionExt )(char **, int *, int, char **) = NULL
int(* ArrayMapProcNumExtCallback )(int, int, const int *) = NULL
int _recplay_crc = 0
int _recplay_checksum = 0
int _recplay_logsize = 1024*1024


Typedef Documentation

typedef std::map<int, CkChareID> Vidblockmap

Definition at line 25 of file ck.C.


Function Documentation

CkpvDeclare ( std::vector< void * >  ,
chare_objs   
)

Referenced by traceCommonInit().

Here is the caller graph for this function:

CkpvDeclare ( std::vector< int ,
chare_types   
)

CkpvDeclare ( std::vector< VidBlock * >  ,
vidblocks   
)

CkpvDeclare ( Vidblockmap  ,
vmap   
)

CkpvDeclare ( int  ,
currentChareIdx   
)

CkpvDeclare ( ArrayObjMap  ,
array_objs   
)

CKSECTIONID_CONSTRUCTOR_DEF ( 1D   ) 

Definition at line 419 of file ck.C.

void CUDACallbackManager ( void *  fn  ) 

Definition at line 460 of file ck.C.

References cb, and CkCallback::send().

Here is the call graph for this function:

void QdCreate ( int  n  ) 

void QdProcess ( int  n  ) 

static void* _ckLocalNodeBranch ( CkGroupID  groupID  )  [static]

Definition at line 502 of file ck.C.

Referenced by CkLocalNodeBranch().

Here is the caller graph for this function:

CkpvDeclare ( char **  ,
Ck_argv   
)

char** CkGetArgv ( void   ) 

int CkGetArgc ( void   ) 

Definition at line 552 of file ck.C.

References CmiGetArgc().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 609 of file ck.C.

References CkDeliverMessageFree(), CkDeliverMessageReadonly(), EnvToUsr(), msg, and UsrToEnv().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 623 of file ck.C.

References _entryTable, and _invokeEntryNoTrace().

Referenced by _deliverForBocMsg(), _deliverForNodeBocMsg(), _processForNodeBocMsg(), _processForPlainChareMsg(), _processNewChareMsg(), and _processNewVChareMsg().

Here is the call graph for this function:

Here is the caller graph for this function:

void _createGroup ( CkGroupID  groupID,
envelope env 
)

void _createNodeGroup ( CkGroupID  groupID,
envelope env 
)

static CkGroupID _groupCreate ( envelope env  )  [static]

Definition at line 816 of file ck.C.

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

Referenced by CkCreateGroup().

Here is the call graph for this function:

Here is the caller graph for this function:

static CkGroupID _nodeGroupCreate ( envelope env  )  [static]

Definition at line 831 of file ck.C.

References _createNodeGroup(), _getGroupIdx(), BGConverse::CkMyNode(), BGConverse::CkNumNodes(), and _ckGroupID::idx.

Referenced by CkCreateNodeGroup().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 849 of file ck.C.

References idx, int, n, and x.

Referenced by _groupCreate(), and _nodeGroupCreate().

Here is the caller graph for this function:

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

Definition at line 889 of file ck.C.

References _chareTable, _entryTable, envelope::getEpIdx(), malloc(), setMemoryTypeChare(), and size.

Referenced by _processNewChareMsg(), and _processNewVChareMsg().

Here is the call graph for this function:

Here is the caller graph for this function:

bool isGroupDepUnsatisfied ( const CkCoreState ck,
const envelope env 
) [inline]

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

Definition at line 918 of file ck.C.

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

Referenced by _processHandler(), and CkCreateLocalChare().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkCreateLocalChare ( int  epIdx,
envelope env 
)

Definition at line 934 of file ck.C.

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

Referenced by CkPupChareData().

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

Definition at line 979 of file ck.C.

References _chareTable, _entryTable, _invokeEntry(), _mainTable, Converse::CkMyPe(), envelope::getEpIdx(), envelope::getObjPtr(), isGroupDepUnsatisfied(), CkCoreState::process(), and TypeChare.

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1005 of file ck.C.

References CmiFree(), EnvToUsr(), VidBlock::fill(), envelope::getVidPtr(), CkChareID::objPtr, CkChareID::onPE, and CkCoreState::process().

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1020 of file ck.C.

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

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1033 of file ck.C.

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

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

static IrrGroup* _lookupGroupAndBufferIfNotThere ( const CkCoreState ck,
const 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 message 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 1055 of file ck.C.

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

Referenced by _processArrayEltMsg(), _processForBocMsg(), isGroupDepUnsatisfied(), and lookupGroupAndBufferIfNotThere().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1067 of file ck.C.

References _lookupGroupAndBufferIfNotThere().

Referenced by CProxy_ArrayBase::ckInsertIdx().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1072 of file ck.C.

References _invokeEntry(), _lbdb, CkLocalBranch(), CmiMyRank(), LBDatabase::ObjectStart(), LBDatabase::ObjectStop(), LBDatabase::RunningObject(), and updatePeerCounterAndPush().

Referenced by _processForBocMsg(), and CkSendMsgBranchInline().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1103 of file ck.C.

References _deliverForBocMsg(), _lookupGroupAndBufferIfNotThere(), envelope::getEpIdx(), envelope::getGroupNum(), isGroupDepUnsatisfied(), and CkCoreState::process().

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

IrrGroup* _getCkLocalBranchFromGroupID ( CkGroupID gID  ) 

Definition at line 1115 of file ck.C.

References CkCoreState::localBranch().

Referenced by getArrayMgrFromMsg().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1123 of file ck.C.

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

Referenced by CkSendMsgNodeBranchInline().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1130 of file ck.C.

References _invokeEntry(), envelope::getEpIdx(), envelope::getGroupNum(), isGroupDepUnsatisfied(), and CkCoreState::process().

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

void _processBocInitMsg ( CkCoreState ck,
envelope env 
)

Definition at line 1156 of file ck.C.

References CkCreateLocalGroup(), envelope::getEpIdx(), envelope::getGroupNum(), isGroupDepUnsatisfied(), and CkCoreState::process().

Referenced by _processBufferedBocInits(), and _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

void _processNodeBocInitMsg ( CkCoreState ck,
envelope env 
)

Definition at line 1166 of file ck.C.

References CkCreateLocalNodeGroup(), envelope::getEpIdx(), envelope::getGroupNum(), isGroupDepUnsatisfied(), and CkCoreState::process().

Referenced by _processBufferedNodeBocInits(), and _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1177 of file ck.C.

References _lookupGroupAndBufferIfNotThere(), CkArrayMessage::array_hops(), CkDeliver_inline, CkArray::deliver(), EnvToUsr(), envelope::getArrayMgr(), envelope::getEpIdx(), envelope::getRecipientID(), msg, and CkCoreState::process().

Referenced by _processHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

void _processHandler ( void *  converseMsg,
CkCoreState ck 
)

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

Definition at line 1352 of file ck.C.

References CkPackMessage(), envelope::getPriobits(), envelope::getPrioPtr(), envelope::getQueueing(), and envelope::getTotalsize().

Referenced by _initCharm().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkPackMessage ( envelope **  pEnv  ) 

void CkUnpackMessage ( envelope **  pEnv  ) 

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

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

Definition at line 1514 of file ck.C.

References CkPackMessage(), CmiFree(), Converse::CmiSyncListSendAndFree(), ConverseDeliver(), envelope::getTotalsize(), and len.

Referenced by CkSendMsgBranchMultiImmediate(), and CkSendMsgNodeBranchMultiImmediate().

Here is the call graph for this function:

Here is the caller graph for this function:

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

void _noCldNodeEnqueue ( int  node,
envelope env 
)

Definition at line 1556 of file ck.C.

References CkPackMessage(), CkRdmaPrepareBcastMsg(), CmiFree(), ConverseDeliver(), envelope::getTotalsize(), and len.

Referenced by _sendMsgNodeBranch(), CkSendMsgNodeBranchImmediate(), and generalCldEnqueue().

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

Definition at line 1665 of file ck.C.

References _prepareMsg(), and UsrToEnv().

Here is the call graph for this function:

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]

Definition at line 1777 of file ck.C.

References _prepareMsgBranch().

Referenced by _sendMsgBranch(), _sendMsgNodeBranch(), CkSendMsgBranchImmediate(), CkSendMsgBranchMultiImmediate(), CkSendMsgNodeBranchImmediate(), and CkSendMsgNodeBranchMultiImmediate().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1788 of file ck.C.

References _infoIdx, _noCldEnqueue(), _prepareImmediateMsgBranch(), _prepareMsgBranch(), _skipCldEnqueue(), Converse::CkNumPes(), ForBocMsg, and sendGroupMsg().

Referenced by CkBroadcastMsgBranch(), and CkSendMsgBranch().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1813 of file ck.C.

References _CldEnqueueMulti(), _infoIdx, _prepareMsgBranch(), and ForBocMsg.

Referenced by CkSendMsgBranchMulti(), and CkSendMsgBranchMultiImmediate().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1822 of file ck.C.

References _noCldEnqueue(), _prepareImmediateMsgBranch(), Converse::CkMyPe(), Converse::CkNumPes(), CkSendMsgBranchInline(), ForBocMsg, and UsrToEnv().

Referenced by CkSendMsgBranch().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1893 of file ck.C.

References _noCldEnqueueMulti(), _prepareImmediateMsgBranch(), _sendMsgBranchMulti(), and ForBocMsg.

Referenced by CkSendMsgBranchMulti().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1945 of file ck.C.

References _CldNodeEnqueue(), _infoIdx, _noCldNodeEnqueue(), _prepareImmediateMsgBranch(), _prepareMsgBranch(), BGConverse::CkNumNodes(), ForNodeBocMsg, and sendNodeGroupMsg().

Referenced by CkBroadcastMsgNodeBranch(), and CkSendMsgNodeBranch().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1970 of file ck.C.

References _CldNodeEnqueue(), _infoIdx, _prepareMsgBranch(), and ForNodeBocMsg.

Referenced by CkSendMsgNodeBranchMulti(), and CkSendMsgNodeBranchMultiImmediate().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1981 of file ck.C.

References _noCldNodeEnqueue(), _prepareImmediateMsgBranch(), BGConverse::CkMyNode(), BGConverse::CkNumNodes(), CkSendMsgNodeBranchInline(), ForNodeBocMsg, and UsrToEnv().

Referenced by CkSendMsgNodeBranch().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 2046 of file ck.C.

References _noCldEnqueueMulti(), _prepareImmediateMsgBranch(), _sendMsgNodeBranchMulti(), and ForNodeBocMsg.

Referenced by CkSendMsgNodeBranchMulti().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 2099 of file ck.C.

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

Referenced by CkArrayManagerDeliver().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDeleteChares (  ) 

Definition at line 2136 of file ck.C.

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

Here is the call graph for this function:

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

Referenced by CkMessageReplay::flush().

Here is the caller graph for this function:

void StartCharmExt ( int  argc,
char **  argv 
)

Definition at line 2198 of file ck.C.

References _initCharm(), ConverseInit(), data, ext_args, ext_argv, fd, and Ck::IO::open().

Here is the call graph for this function:

void registerCkRegisterMainModuleCallback ( void(*)()  cb  ) 

Definition at line 2223 of file ck.C.

References cb, and CkRegisterMainModuleCallback.

void registerMainchareCtorExtCallback ( void(*)(int, void *, int, int, char **)  cb  ) 

Definition at line 2228 of file ck.C.

References cb, and MainchareCtorExtCallback.

void registerReadOnlyRecvExtCallback ( void(*)(int, char *)  cb  ) 

Definition at line 2233 of file ck.C.

References cb, and ReadOnlyRecvExtCallback.

void registerChareMsgRecvExtCallback ( void(*)(int, void *, int, int, char *, int cb  ) 

Definition at line 2241 of file ck.C.

References cb, and ChareMsgRecvExtCallback.

void registerGroupMsgRecvExtCallback ( void(*)(int, int, int, char *, int cb  ) 

Definition at line 2246 of file ck.C.

References cb, and GroupMsgRecvExtCallback.

void registerArrayMsgRecvExtCallback ( void(*)(int, int, int *, int, int, char *, int cb  ) 

Definition at line 2251 of file ck.C.

References ArrayMsgRecvExtCallback, and cb.

void registerArrayElemLeaveExtCallback ( int(*)(int, int, int *, char **, int cb  ) 

Definition at line 2256 of file ck.C.

References ArrayElemLeaveExt, and cb.

void registerArrayElemJoinExtCallback ( void(*)(int, int, int *, int, char *, int cb  ) 

Definition at line 2261 of file ck.C.

References ArrayElemJoinExt, and cb.

void registerArrayResumeFromSyncExtCallback ( void(*)(int, int, int *)  cb  ) 

Definition at line 2266 of file ck.C.

References ArrayResumeFromSyncExtCallback, and cb.

void registerCreateReductionTargetMsgExtCallback ( void(*)(void *, int, int, int, char **, int *)  cb  ) 

Definition at line 2271 of file ck.C.

References cb, and CreateReductionTargetMsgExt.

void registerPyReductionExtCallback ( int(*)(char **, int *, int, char **)  cb  ) 

Definition at line 2276 of file ck.C.

References cb, and PyReductionExt.

void registerArrayMapProcNumExtCallback ( int(*)(int, int, const int *)  cb  ) 

Definition at line 2281 of file ck.C.

References ArrayMapProcNumExtCallback, and cb.

int CkMyPeHook ( void   ) 

Definition at line 2285 of file ck.C.

References Converse::CkMyPe().

Here is the call graph for this function:

int CkNumPesHook ( void   ) 

Definition at line 2286 of file ck.C.

References Converse::CkNumPes().

Here is the call graph for this function:

CkpvExtern ( int  ,
_currentChareType   
)

int CkGroupGetReductionNumber ( int  g_id  ) 

Get current redNo of specified group instance on this PE.

Definition at line 2434 of file ck.C.

References CkLocalBranch(), and _ckGroupID::idx.

Here is the call graph for this function:

int CkArrayGetReductionNumber ( int  aid,
int  ndims,
int index 
)

Get current redNo of specified array element on this PE.

Definition at line 2440 of file ck.C.

References ArrayElement::getRedNo(), and _ckGroupID::idx.

Here is the call graph for this function:

CkpvDeclare ( int  ,
envelopeEventID   
)

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

Definition at line 2589 of file ck.C.

References Converse::CkMyPe(), CkMessageWatcher::f, and fName.

Referenced by CkMessageWatcherInit(), CkMessageReplay::process(), and CkMessageRecorder::process().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMessageReplayQuiescence ( void *  rep,
double  time 
)

Definition at line 2938 of file ck.C.

References Converse::CkMyPe().

Referenced by CkMessageReplay::CkMessageReplay().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMessageDetailReplayDone ( void *  rep,
double  time 
)

Definition at line 2946 of file ck.C.

References Converse::CkMyPe(), ConverseExit(), and CkMessageDetailReplay::starttime.

Referenced by CkMessageDetailReplay::CkMessageDetailReplay().

Here is the call graph for this function:

Here is the caller graph for this function:

static bool CpdExecuteThreadResume ( CthThreadToken token  )  [static]

Definition at line 2953 of file ck.C.

References CkCoreState::watcher.

Referenced by CthResumeNormalThreadDebug().

Here is the caller graph for this function:

CpvExtern ( int  ,
CthResumeNormalThreadIdx   
)

void CthResumeNormalThreadDebug ( CthThreadToken token  ) 

Definition at line 2962 of file ck.C.

References CpdExecuteThreadResume(), CthResume(), CthScheduledDecrement(), CthSelf(), CthSetPrev(), CthTraceResume(), free(), PUP::t, and CthThreadToken::thread.

Referenced by CkMessageWatcherInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CpdHandleLBMessage ( LBMigrateMsg **  msg  ) 

Definition at line 2991 of file ck.C.

References CkCoreState::watcher.

Referenced by CentralLB::ApplyDecision().

Here is the caller graph for this function:

CpvExtern ( int  ,
CthResumeBigSimThreadIdx   
)

void CkMessageWatcherInit ( char **  argv,
CkCoreState ck 
)

int CkMessageToEpIdx ( void *  msg  ) 

Definition at line 3092 of file ck.C.

References envelope::getEpIdx(), envelope::getsetArrayBcastEp(), and UsrToEnv().

Referenced by _call_freeze_on_break_point(), and CpdPupMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

int getCharmEnvelopeSize (  ) 

Definition at line 3101 of file ck.C.

Referenced by cpd_memory_single_pup().

Here is the caller graph for this function:

int isCharmEnvelope ( void *  msg  ) 

Best-effort guess at whether.

Definition at line 3106 of file ck.C.

References _entryTable, BGConverse::CkNumNodes(), Converse::CkNumPes(), envelope::getEpIdx(), envelope::getMsgtype(), envelope::getSrcPe(), envelope::getTotalsize(), and LAST_CK_ENVELOPE_TYPE.

Referenced by traceCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

Definition at line 1396 of file ck.C.

Referenced by _ckModuleInit(), _prepareMsg(), and _skipCldEnqueue().

Definition at line 1398 of file ck.C.

Referenced by _ckModuleInit(), and _enqObjQueue().

std::vector< std::vector<char> > ext_args [static]

Definition at line 2191 of file ck.C.

Referenced by StartCharmExt().

std::vector<char*> ext_argv [static]

Definition at line 2192 of file ck.C.

Referenced by StartCharmExt().

void(* MainchareCtorExtCallback)(int, void *, int, int, char **) = NULL

void(* ReadOnlyRecvExtCallback)(int, char *) = NULL

void(* ChareMsgRecvExtCallback)(int, void *, int, int, char *, int) = NULL

void(* GroupMsgRecvExtCallback)(int, int, int, char *, int) = NULL

void(* CreateReductionTargetMsgExt)(void *, int, int, int, char **, int *) = NULL

int(* PyReductionExt)(char **, int *, int, char **) = NULL

Definition at line 2576 of file ck.C.

Definition at line 2577 of file ck.C.

int _recplay_logsize = 1024*1024

Definition at line 2578 of file ck.C.


Generated on Mon Sep 21 07:57:15 2020 for Charm++ by  doxygen 1.5.5