
Data Structures | |
| struct | CkChareID |
| struct | _ckGroupID |
Typedefs | |
| typedef struct _ckGroupID | CkGroupID |
| typedef CkGroupID | CkNodeGroupID |
| typedef struct envelope | envelope |
Enumerations | |
| enum | CkEnvelopeType { NewChareMsg = 1, NewVChareMsg = 2, BocInitMsg = 3, ForChareMsg = 4, ForBocMsg = 5, ForVidMsg = 6, FillVidMsg = 7, DeleteVidMsg = 8, RODataMsg = 9, ROMsgMsg = 10, StartExitMsg = 11, ExitMsg = 12, ReqStatMsg = 13, StatMsg = 14, NodeBocInitMsg = 15, ForNodeBocMsg = 16, ArrayEltInitMsg = 17, ForArrayEltMsg = 18, LAST_CK_ENVELOPE_TYPE = 19 } |
Functions | |
| void | CkCreateChare (int chareIdx, int constructorIdx, void *msg, CkChareID *vid, int destPE) |
| CkGroupID | CkCreateGroup (int chareIdx, int constructorIdx, void *msg) |
| CkGroupID | CkCreateNodeGroup (int chareIdx, int constructorIdx, void *msg) |
| void | CkCreateLocalGroup (CkGroupID groupID, int constructorIdx, envelope *env) |
| void | CkCreateLocalNodeGroup (CkGroupID groupID, int constructorIdx, envelope *env) |
| void | CkSendMsg (int entryIndex, void *msg, const CkChareID *chare, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgBranch (int eIdx, void *msg, int destPE, CkGroupID gID, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgInline (int entryIndex, void *msg, const CkChareID *chare, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgBranchInline (int eIdx, void *msg, int destPE, CkGroupID gID, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, int *pes, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgBranchGroup (int eIdx, void *msg, CkGroupID gID, CmiGroup grp, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgNodeBranch (int eIdx, void *msg, int destNode, CkGroupID gID, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgNodeBranchInline (int eIdx, void *msg, int destNode, CkGroupID gID, int opts CK_MSGOPTIONAL) |
| void | CkSendMsgNodeBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, int *nodes, int opts CK_MSGOPTIONAL) |
| void | CkBroadcastMsgBranch (int eIdx, void *msg, CkGroupID gID, int opts CK_MSGOPTIONAL) |
| void | CkBroadcastMsgNodeBranch (int eIdx, void *msg, CkGroupID gID, int opts CK_MSGOPTIONAL) |
| 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 | CkSetRefNum (void *msg, CMK_REFNUM_TYPE ref) |
| CMK_REFNUM_TYPE | CkGetRefNum (void *msg) |
| int | CkGetSrcPe (void *msg) |
| int | CkGetSrcNode (void *msg) |
| void | CkDeliverMessageFree (int epIdx, void *msg, void *object) |
| void | CkDeliverMessageReadonly (int epIdx, const void *msg, void *object) |
| void * | CkLocalBranch (CkGroupID gID) |
| void * | CkLocalNodeBranch (CkGroupID gID) |
| void * | CkLocalChare (const CkChareID *chare) |
| void | CkArrayManagerInsert (int onPe, void *msg, CkGroupID aID) |
| void | CkArrayManagerDeliver (int onPe, void *msg, int opts CK_MSGOPTIONAL) |
These routines implement a basic remote-method-invocation system consisting of chares and groups.
These routines are implemented in ck.C.
There is no migration. All the bindings are written to the C language, although most clients, including the rest of Charm++, are actually C++.
| typedef struct _ckGroupID CkGroupID |
| typedef CkGroupID CkNodeGroupID |
| enum CkEnvelopeType |
Definition at line 643 of file ck.C.
References _charmHandlerIdx, _CldEnqueue(), _entryTable, _infoIdx, Converse::CkMyPe(), idx, NewChareMsg, NewVChareMsg, CkChareID::objPtr, CkChareID::onPE, envelope::setEpIdx(), envelope::setForAnyPE(), envelope::setMsgtype(), envelope::setSrcPe(), envelope::setVidPtr(), and UsrToEnv().
Definition at line 851 of file ck.C.
References _entryTable, _groupCreate(), BocInitMsg, Converse::CkMyPe(), Converse::CkNumPes(), envelope::setEpIdx(), envelope::setMsgtype(), envelope::setSrcPe(), and UsrToEnv().
Definition at line 865 of file ck.C.
References _entryTable, _nodeGroupCreate(), Converse::CkMyPe(), BGConverse::CkNumNodes(), NodeBocInitMsg, envelope::setEpIdx(), envelope::setMsgtype(), envelope::setSrcPe(), and UsrToEnv().
Definition at line 679 of file ck.C.
Referenced by _createGroup(), _processBocInitMsg(), and CkPupGroupData().
Definition at line 709 of file ck.C.
Referenced by _createNodeGroup(), _processNodeBocInitMsg(), and CkPupNodeGroupData().
Definition at line 1565 of file ck.C.
References _CldEnqueue(), _infoIdx, _noCldEnqueue(), _prepareMsg(), CkSendMsgInline(), CmiAbort(), and UsrToEnv().
Referenced by CkDelegateMgr::ChareSend(), CkRemoteCallAsync(), CkSendMsgInline(), and CkCallback::send().
Definition at line 1735 of file ck.C.
References _sendMsgBranch(), CkSendMsgBranchImmediate(), and CkSendMsgBranchInline().
Referenced by CkRemoteBranchCallAsync(), CkSendMsgBranchInline(), CkDelegateMgr::GroupSend(), ComlibManager::GroupSend(), BroadcastStrategy::handleHypercube(), BroadcastStrategy::handleTree(), and CkCallback::send().
| void CkSendMsgInline | ( | int | entryIndex, | |
| void * | msg, | |||
| const CkChareID * | chare, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1594 of file ck.C.
References _invokeEntryNoTrace(), _prepareMsg(), Converse::CkMyPe(), CkSendMsg(), CkUnpackMessage(), envelope::isPacked(), CkChareID::objPtr, CkChareID::onPE, and UsrToEnv().
Referenced by CkSendMsg(), and CkCallback::send().
| void CkSendMsgBranchInline | ( | int | eIdx, | |
| void * | msg, | |||
| int | destPE, | |||
| CkGroupID | gID, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1711 of file ck.C.
References _deliverForBocMsg(), _localBranch(), _prepareMsgBranch(), Converse::CkMyPe(), CkSendMsgBranch(), ForBocMsg, and UsrToEnv().
Referenced by CkSendMsgBranch(), CkSendMsgBranchImmediate(), PipeBroadcastStrategy::deliver(), EachToManyMulticastStrategy::deliver(), and CkCallback::send().
| void CkSendMsgBranchMulti | ( | int | eIdx, | |
| void * | msg, | |||
| CkGroupID | gID, | |||
| int | npes, | |||
| int * | pes, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1767 of file ck.C.
References _sendMsgBranchMulti(), and CkSendMsgBranchMultiImmediate().
Referenced by CkDelegateMgr::GroupSectionSend().
| void CkSendMsgBranchGroup | ( | int | eIdx, | |
| void * | msg, | |||
| CkGroupID | gID, | |||
| CmiGroup | grp, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1780 of file ck.C.
References _CldEnqueueGroup(), _infoIdx, _prepareMsgBranch(), CmiAbort(), CmiLookupGroup(), ForBocMsg, and CkSectionID::npes.
| void CkSendMsgNodeBranch | ( | int | eIdx, | |
| void * | msg, | |||
| int | destNode, | |||
| CkGroupID | gID, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1889 of file ck.C.
References _sendMsgNodeBranch(), CkSendMsgNodeBranchImmediate(), and CkSendMsgNodeBranchInline().
Referenced by CkRemoteNodeBranchCallAsync(), CkSendMsgNodeBranchInline(), CkDelegateMgr::NodeGroupSend(), and CkCallback::send().
| void CkSendMsgNodeBranchInline | ( | int | eIdx, | |
| void * | msg, | |||
| int | destNode, | |||
| CkGroupID | gID, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1866 of file ck.C.
References _deliverForNodeBocMsg(), _prepareMsgBranch(), BGConverse::CkMyNode(), CkSendMsgNodeBranch(), ForNodeBocMsg, and UsrToEnv().
Referenced by CkSendMsgNodeBranch(), CkSendMsgNodeBranchImmediate(), and CkCallback::send().
| void CkSendMsgNodeBranchMulti | ( | int | eIdx, | |
| void * | msg, | |||
| CkGroupID | gID, | |||
| int | npes, | |||
| int * | nodes, | |||
| int opts | CK_MSGOPTIONAL | |||
| ) |
Definition at line 1919 of file ck.C.
References _sendMsgNodeBranchMulti(), and CkSendMsgNodeBranchMultiImmediate().
Referenced by CkDelegateMgr::NodeGroupSectionSend().
Definition at line 1799 of file ck.C.
References _sendMsgBranch(), and Converse::CkNumPes().
Referenced by CkDelegateMgr::GroupBroadcast(), and CkCallback::send().
Definition at line 1932 of file ck.C.
References _sendMsgNodeBranch(), and BGConverse::CkNumNodes().
Referenced by CkDelegateMgr::NodeGroupBroadcast(), and CkCallback::send().
| void CkSetRefNum | ( | void * | msg, | |
| CMK_REFNUM_TYPE | ref | |||
| ) |
Definition at line 480 of file ck.C.
References envelope::setRef(), and UsrToEnv().
Referenced by CkReductionMgr::endArrayReduction(), CkNodeReductionMgr::finishReduction(), CkReductionMgr::finishReduction(), and CkMulticastMgr::reduceFragment().
| CMK_REFNUM_TYPE CkGetRefNum | ( | void * | msg | ) |
| int CkGetSrcPe | ( | void * | msg | ) |
Definition at line 492 of file ck.C.
References envelope::getSrcPe(), and UsrToEnv().
Referenced by CkGetSrcNode().
| int CkGetSrcNode | ( | void * | msg | ) |
| void CkDeliverMessageFree | ( | int | epIdx, | |
| void * | msg, | |||
| void * | object | |||
| ) |
Definition at line 566 of file ck.C.
References _entryTable, _msgTable, CpdAfterEp(), and CpdBeforeEp().
Referenced by _invokeEntryNoTrace(), and CkLocRec_local::invokeEntry().
| void CkDeliverMessageReadonly | ( | int | epIdx, | |
| const void * | msg, | |||
| void * | object | |||
| ) |
Definition at line 587 of file ck.C.
References _entryTable, CkCopyMsg(), CpdAfterEp(), and CpdBeforeEp().
Referenced by CkLocRec_local::invokeEntry().
| void* CkLocalBranch | ( | CkGroupID | gID | ) |
Definition at line 504 of file ck.C.
References _localBranch().
Referenced by _deliverForBocMsg(), CkCacheManager::cacheSync(), chpt< StateType >::checkpoint(), CProxy::ckDelegatedTo(), CProxy_NodeGroup::ckGetChareID(), CProxy_Group::ckGetChareID(), CkLocMgr::CkLocMgr(), eventQueue::CommitStatsHelper(), LBgroup::computePeLoad(), eventQueue::eventQueue(), CkObjID::getObject(), GVT::GVT(), LBgroup::LBgroup(), LBstrategy::LBstrategy(), MeshStreamer< dtype >::MeshStreamer(), migrationDone(), LBDatabase::Object(), eventMsg::operator delete(), eventMsg::operator new(), sim::pup(), GVT::pup(), PVT::pup(), CkLocMgr::pup(), PVT::PVT(), rep::registerTimestamp(), sim::sim(), strat::strat(), and pvtObjects::StratCalcs().
| void* CkLocalNodeBranch | ( | CkGroupID | gID | ) |
Definition at line 517 of file ck.C.
References _ckLocalNodeBranch(), and CsdScheduler().
Referenced by CProxy::ckDelegatedTo().
| void* CkLocalChare | ( | const CkChareID * | chare | ) |
Definition at line 531 of file ck.C.
References Converse::CkMyPe(), VidBlock::getLocalChareObj(), CkChareID::objPtr, and CkChareID::onPE.
Referenced by CkObjID::getObject().
Definition at line 1979 of file ck.C.
References _CldEnqueue(), _infoIdx, _prepareOutgoingArrayMsg(), ArrayEltInitMsg, envelope::getsetArrayMgr(), and UsrToEnv().
Referenced by CProxy_ArrayBase::ckInsertIdx(), CkArray::demandCreateElement(), CkArray::insertElement(), and CkArray::insertInitial().
Definition at line 1987 of file ck.C.
References _infoIdx, _noCldEnqueue(), _prepareOutgoingArrayMsg(), _skipCldEnqueue(), ForArrayEltMsg, sendTicketArrayRequest(), and UsrToEnv().
Referenced by CkLocRec_local::addedElement(), CkSendMsgArray(), CkLocRec_remote::deliver(), CkLocRec_local::deliver(), and CkLocMgr::deliverUnknown().
1.5.5