Go to the source code of this file.
enum CkNcpyMode |
enum CkNcpyStatus |
enum ncpyEmApiMode |
void CkRdmaDirectAckHandler | ( | void * | ack | ) |
Definition at line 339 of file ckrdma.C.
References ncpystruct::destAck, handleBcastEntryMethodApiCompletion(), handleBcastReverseEntryMethodApiCompletion(), handleDirectApiCompletion(), handleEntryMethodApiCompletion(), handleReverseEntryMethodApiCompletion(), info, invokeSourceCallback(), ncpystruct::opMode, QdProcess(), readonlyGetCompleted(), and ncpystruct::srcAck.
Referenced by _initCharm().
void invokeCallback | ( | void * | cb, | |
int | pe, | |||
CkNcpyBuffer & | buff | |||
) |
Definition at line 376 of file ckrdma.C.
References _ckcallbackgroup.
Referenced by CkRdmaEMBcastAckHandler(), invokeDestinationCallback(), and invokeSourceCallback().
CkNcpyMode findTransferMode | ( | int | srcPe, | |
int | destPe | |||
) |
Definition at line 391 of file ckrdma.C.
References CMA, CmiDoesCMAWork(), CmiNodeOf(), CmiPeOnSamePhysicalNode(), MEMCPY, and RDMA.
Referenced by CkRdmaIssueRgets(), CkNcpyBuffer::get(), CkNcpyBuffer::put(), and readonlyGet().
void invokeSourceCallback | ( | NcpyOperationInfo * | info | ) |
Definition at line 306 of file ckrdma.C.
References ncpystruct::ackMode, CkNcpyBuffer::constructSourceBufferObject, invokeCallback(), CkCallback::requiresMsgConstruction(), src, ncpystruct::srcAck, and ncpystruct::srcPe.
Referenced by CkRdmaDirectAckHandler(), handleDirectApiCompletion(), handleEntryMethodApiCompletion(), and handleReverseEntryMethodApiCompletion().
void invokeDestinationCallback | ( | NcpyOperationInfo * | info | ) |
Definition at line 318 of file ckrdma.C.
References ncpystruct::ackMode, CkNcpyBuffer::constructDestinationBufferObject, dest, ncpystruct::destAck, ncpystruct::destPe, invokeCallback(), and CkCallback::requiresMsgConstruction().
Referenced by handleDirectApiCompletion().
void enqueueNcpyMessage | ( | int | destPe, | |
void * | msg | |||
) |
Definition at line 402 of file ckrdma.C.
References Converse::CkMyPe(), CmiHandleMessage(), CmiPushPE(), and CmiRankOf().
Referenced by CkRdmaEMAckHandler(), CkRdmaEMBcastAckHandler(), CkRdmaIssueRgets(), handleMsgUsingCMAPostCompletionForSendBcast(), and processBcastSendEmApiCompletion().
static CkNcpyBuffer CkSendBuffer | ( | const void * | ptr_, | |
CkCallback & | cb_, | |||
unsigned short int | regMode_ = CK_BUFFER_REG , |
|||
unsigned short int | deregMode_ = CK_BUFFER_DEREG | |||
) | [inline, static] |
static CkNcpyBuffer CkSendBuffer | ( | const void * | ptr_, | |
unsigned short int | regMode_ = CK_BUFFER_REG , |
|||
unsigned short int | deregMode_ = CK_BUFFER_DEREG | |||
) | [inline, static] |
envelope* CkRdmaIssueRgets | ( | envelope * | env, | |
ncpyEmApiMode | emMode, | |||
void * | forwardMsg = NULL | |||
) |
Definition at line 723 of file ckrdma.C.
References _topoTree, BCAST_SEND, buf, CmiSpanningTreeInfo::child_count, Converse::CkMyPe(), CkPackMessage(), CkPackRdmaPtrs(), CkUnpackMessage(), CMA, CmiAbort(), CmiAlloc(), CkNcpyBuffer::cnt, dest, EnvToUsr(), findTransferMode(), forwardMessageToPeerNodes(), envelope::getMsgtype(), getRdmaNumopsAndBufsize(), envelope::getSrcPe(), envelope::getTotalsize(), handleMsgUsingCMAPostCompletionForSendBcast(), CkNcpyBuffer::layerInfo, MEMCPY, p, P2P_SEND, CkNcpyBuffer::performEmApiNcpyTransfer, performRgets(), preprocessRdmaCaseForRgets(), CkNcpyBuffer::ptr, RDMA, CkNcpyBuffer::ref, setNcpyEmInfo(), envelope::setTotalsize(), source, and PUP::t.
Referenced by _processHandler().
void CkRdmaIssueRgets | ( | envelope * | env, | |
ncpyEmApiMode | emMode, | |||
void * | forwardMsg, | |||
int | numops, | |||
void ** | arrPtrs, | |||
CkNcpyBufferPost * | postStructs | |||
) |
Definition at line 841 of file ckrdma.C.
References _topoTree, allocateInterimNodeAckObj(), BCAST_RECV, BCAST_SEND, CkNcpyBuffer::bcastAckInfo, CmiSpanningTreeInfo::child_count, Converse::CkMyPe(), CMA, CmiAbort(), CmiAlloc(), CkNcpyBuffer::cnt, CkNcpyBufferPost::deregMode, dest, enqueueNcpyMessage(), EnvToUsr(), findTransferMode(), envelope::getSrcPe(), envelope::getTotalsize(), handleMsgOnChildPostCompletionForRecvBcast(), handleMsgOnInterimPostCompletionForRecvBcast(), CkNcpyBuffer::layerInfo, MEMCPY, p, P2P_RECV, CkNcpyBuffer::performEmApiNcpyTransfer, performRgets(), preprocessRdmaCaseForRgets(), CkNcpyBuffer::ptr, RDMA, CkNcpyBuffer::ref, CkNcpyBufferPost::regMode, sendAckMsgToParent(), setNcpyEmInfo(), source, and PUP::t.
void handleEntryMethodApiCompletion | ( | NcpyOperationInfo * | info | ) |
Definition at line 678 of file ckrdma.C.
References ncpystruct::ackMode, CkRdmaEMAckHandler(), CmiInvokeRemoteDeregAckHandler(), ncpystruct::destPe, invokeSourceCallback(), ncpystruct::refPtr, ncpystruct::srcDeregMode, and ncpystruct::srcPe.
Referenced by CkRdmaDirectAckHandler().
void handleReverseEntryMethodApiCompletion | ( | NcpyOperationInfo * | info | ) |
Definition at line 694 of file ckrdma.C.
References ncpystruct::ackMode, CmiDeregisterMem(), CmiFree(), CmiGetRdmaCommonInfoSize(), CmiInvokeRemoteAckHandler(), ncpystruct::destPe, ncpystruct::freeMe, invokeSourceCallback(), ncpystruct::isSrcRegistered, ncpystruct::refPtr, ncpystruct::srcDeregMode, ncpystruct::srcLayerInfo, ncpystruct::srcPe, ncpystruct::srcPtr, and ncpystruct::srcRegMode.
Referenced by CkRdmaDirectAckHandler().
void CkPackRdmaPtrs | ( | char * | msgBuf | ) |
Definition at line 630 of file ckrdma.C.
References p, CkNcpyBuffer::ptr, and PUP::w.
Referenced by CkRdmaIssueRgets(), and CkReplaceSourcePtrsInBcastMsg().
void CkUnpackRdmaPtrs | ( | char * | msgBuf | ) |
Definition at line 647 of file ckrdma.C.
References p, CkNcpyBuffer::ptr, size_t, and PUP::w.
Referenced by CkReplaceSourcePtrsInBcastMsg().
Definition at line 666 of file ckrdma.C.
References CkNcpyBuffer::cnt, EnvToUsr(), and PUP::w.
Referenced by CkRdmaIssueRgets().
void CkRdmaEMAckHandler | ( | int | destPe, | |
void * | ack | |||
) |
Definition at line 433 of file ckrdma.C.
References _topoTree, BCAST_RECV, BCAST_SEND, CmiSpanningTreeInfo::child_count, CmiAbort(), CmiDeregisterMem(), CmiFree(), CmiGetRdmaCommonInfoSize(), NcpyEmInfo::counter, ncpystruct::destDeregMode, ncpystruct::destLayerInfo, ncpystruct::destPe, ncpystruct::destPtr, ncpystruct::destRegMode, enqueueNcpyMessage(), getNcpyOpInfoTotalSize(), NcpyEmBufferInfo::index, NcpyEmInfo::mode, NcpyEmInfo::msg, NcpyEmBufferInfo::ncpyOpInfo, NcpyEmInfo::numOps, P2P_RECV, P2P_SEND, processBcastRecvEmApiCompletion(), processBcastSendEmApiCompletion(), CkNcpyBuffer::ref, and PUP::t.
Referenced by _initCharm(), handleBcastEntryMethodApiCompletion(), and handleEntryMethodApiCompletion().
void CkRdmaEMBcastPostAckHandler | ( | void * | msg | ) |
Definition at line 1329 of file ckrdma.C.
References _topoTree, allocateInterimNodeAckObj(), CkNcpyBuffer::bcastAckInfo, CmiSpanningTreeInfo::child_count, CmiAbort(), CmiFree(), handleMsgOnChildPostCompletionForRecvBcast(), handleMsgOnInterimPostCompletionForRecvBcast(), NcpyEmInfo::msg, CmiSpanningTreeInfo::parent, NcpyEmInfo::pe, sendAckMsgToParent(), and PUP::t.
Referenced by _initCharm(), and processBcastRecvEmApiCompletion().
void CkRdmaPrepareBcastMsg | ( | envelope * | env | ) |
Definition at line 941 of file ckrdma.C.
References _topoTree, CkNcpyBuffer::bcastAckInfo, CmiSpanningTreeInfo::child_count, Converse::CkMyPe(), CkPackMessage(), CkUnpackMessage(), CmiAlloc(), NcpyBcastAckInfo::counter, EnvToUsr(), NcpyBcastAckInfo::isRoot, NcpyBcastAckInfo::numChildren, NcpyBcastAckInfo::numops, p, NcpyBcastAckInfo::pe, source, NcpyBcastRootAckInfo::src, and PUP::t.
Referenced by _CldEnqueue(), _CldNodeEnqueue(), _noCldEnqueue(), _noCldNodeEnqueue(), and _skipCldEnqueue().
void CkReplaceSourcePtrsInBcastMsg | ( | envelope * | env, | |
NcpyBcastInterimAckInfo * | bcastAckInfo, | |||
int | origPe | |||
) |
Definition at line 1358 of file ckrdma.C.
References CkNcpyBuffer::bcastAckInfo, CkPackMessage(), CkUnpackMessage(), EnvToUsr(), NcpyBcastInterimAckInfo::origPe, p, NcpyBcastInterimAckInfo::parentBcastAckInfo, CkNcpyBuffer::pe, and source.
const void* getParentBcastAckInfo | ( | void * | msg, | |
int & | srcPe | |||
) |
Definition at line 975 of file ckrdma.C.
References CkNcpyBuffer::bcastAckInfo, EnvToUsr(), p, CkNcpyBuffer::pe, and source.
Referenced by CkRdmaEMBcastAckHandler(), and sendAckMsgToParent().
NcpyBcastInterimAckInfo* allocateInterimNodeAckObj | ( | envelope * | myEnv, | |
envelope * | myChildEnv, | |||
int | pe | |||
) |
Definition at line 996 of file ckrdma.C.
References _topoTree, CkNcpyBuffer::bcastAckInfo, CmiSpanningTreeInfo::child_count, CmiAlloc(), NcpyBcastAckInfo::counter, ForArrayEltMsg, envelope::getMsgtype(), NcpyBcastInterimAckInfo::isArray, NcpyBcastInterimAckInfo::isRecv, NcpyBcastAckInfo::isRoot, NcpyBcastInterimAckInfo::msg, NcpyBcastAckInfo::numChildren, NcpyBcastAckInfo::pe, and PUP::t.
Referenced by CkRdmaEMBcastPostAckHandler(), CkRdmaIssueRgets(), handleMsgUsingCMAPostCompletionForSendBcast(), and processBcastSendEmApiCompletion().
Definition at line 1126 of file ckrdma.C.
References CmiForwardNodeBcastMsg(), CmiForwardProcBcastMsg(), ForNodeBocMsg, and envelope::getTotalsize().
Referenced by handleMsgOnInterimPostCompletionForRecvBcast(), handleMsgUsingCMAPostCompletionForSendBcast(), and processBcastSendEmApiCompletion().
Definition at line 1138 of file ckrdma.C.
References CmiForwardMsgToPeers(), ForBocMsg, and envelope::getTotalsize().
Referenced by CkRdmaEMBcastAckHandler(), CkRdmaIssueRgets(), handleMsgUsingCMAPostCompletionForSendBcast(), and processBcastSendEmApiCompletion().
void handleBcastEntryMethodApiCompletion | ( | NcpyOperationInfo * | info | ) |
Definition at line 1147 of file ckrdma.C.
References ncpystruct::ackMode, CkRdmaEMAckHandler(), ncpystruct::destPe, and ncpystruct::refPtr.
Referenced by CkRdmaDirectAckHandler().
void handleBcastReverseEntryMethodApiCompletion | ( | NcpyOperationInfo * | info | ) |
Definition at line 1155 of file ckrdma.C.
References ncpystruct::ackMode, CmiFree(), CmiInvokeRemoteAckHandler(), ncpystruct::destPe, ncpystruct::freeMe, and ncpystruct::refPtr.
Referenced by CkRdmaDirectAckHandler().
Definition at line 1164 of file ckrdma.C.
References CkPackMessage(), CkUnpackMessage(), CmiDeregisterMem(), CmiGetRdmaCommonInfoSize(), CkNcpyBuffer::deregMode, dest, EnvToUsr(), CkNcpyBuffer::layerInfo, p, CkNcpyBuffer::pe, CkNcpyBuffer::ptr, and CkNcpyBuffer::regMode.
void handleMsgUsingCMAPostCompletionForSendBcast | ( | envelope * | copyenv, | |
envelope * | env, | |||
CkNcpyBuffer & | source | |||
) |
Definition at line 1190 of file ckrdma.C.
References _topoTree, allocateInterimNodeAckObj(), CkNcpyBuffer::bcastAckInfo, CmiSpanningTreeInfo::child_count, Converse::CkMyPe(), CkReplaceSourcePtrsInBcastMsg(), CmiInvokeBcastAckHandler(), enqueueNcpyMessage(), forwardMessageToChildNodes(), forwardMessageToPeerNodes(), envelope::getMsgtype(), CkNcpyBuffer::pe, and PUP::t.
Referenced by CkRdmaIssueRgets().
void processBcastSendEmApiCompletion | ( | NcpyEmInfo * | ncpyEmInfo, | |
int | destPe | |||
) |
Definition at line 1217 of file ckrdma.C.
References _topoTree, allocateInterimNodeAckObj(), CkNcpyBuffer::bcastAckInfo, CmiSpanningTreeInfo::child_count, CkPackMessage(), CkReplaceSourcePtrsInBcastMsg(), CkUnpackMessage(), enqueueNcpyMessage(), forwardMessageToChildNodes(), forwardMessageToPeerNodes(), NcpyEmInfo::forwardMsg, envelope::getMsgtype(), NcpyEmInfo::msg, NcpyEmInfo::pe, sendAckMsgToParent(), and PUP::t.
Referenced by CkRdmaEMAckHandler().
void CkReplaceSourcePtrsInBcastMsg | ( | envelope * | prevEnv, | |
envelope * | env, | |||
void * | bcastAckInfo, | |||
int | origPe | |||
) |
Definition at line 1250 of file ckrdma.C.
References CkNcpyBuffer::bcastAckInfo, CkPackMessage(), CkPackRdmaPtrs(), CkUnpackMessage(), CkUnpackRdmaPtrs(), EnvToUsr(), p, CkNcpyBuffer::pe, and source.
Referenced by handleMsgOnInterimPostCompletionForRecvBcast(), handleMsgUsingCMAPostCompletionForSendBcast(), and processBcastSendEmApiCompletion().
void processBcastRecvEmApiCompletion | ( | NcpyEmInfo * | ncpyEmInfo, | |
int | destPe | |||
) |
Definition at line 1303 of file ckrdma.C.
References _topoTree, CmiSpanningTreeInfo::child_count, CkRdmaEMBcastPostAckHandler(), CmiFree(), CmiInvokeBcastPostAckHandler(), NcpyEmInfo::msg, and PUP::t.
Referenced by CkRdmaEMAckHandler().
void CkRdmaEMBcastAckHandler | ( | void * | ack | ) |
Definition at line 1019 of file ckrdma.C.
References _topoTree, CkNcpyBuffer::bcastAckInfo, CkNcpyBuffer::cb, CkPackMessage(), CkUnpackMessage(), CmiFree(), CmiInvokeBcastAckHandler(), NcpyBcastAckInfo::counter, CkNcpyBuffer::deregisterMem(), CkNcpyBuffer::deregisterMemFromMsg, CkNcpyBuffer::deregMode, enqueueNcpyMessage(), ForArrayEltMsg, ForBocMsg, ForNodeBocMsg, forwardMessageToPeerNodes(), CkArray::forwardZCMsgToOtherElems(), getArrayMgrFromMsg(), envelope::getMsgtype(), getParentBcastAckInfo(), CkArray::getRecvBroadcastEpIdx(), envelope::getsetArrayEp(), invokeCallback(), NcpyBcastInterimAckInfo::isArray, NcpyBcastInterimAckInfo::isRecv, NcpyBcastAckInfo::isRoot, NcpyBcastInterimAckInfo::msg, NcpyBcastAckInfo::numChildren, NcpyBcastAckInfo::numops, NcpyBcastInterimAckInfo::origPe, NcpyBcastInterimAckInfo::parentBcastAckInfo, NcpyBcastAckInfo::pe, CkNcpyBuffer::ref, sendAckMsgToParent(), sendRecvDoneMsgToPeers(), envelope::setMsgtype(), NcpyBcastRootAckInfo::src, and PUP::t.
Referenced by _initCharm().
void handleMsgOnChildPostCompletionForRecvBcast | ( | envelope * | env | ) |
Definition at line 1521 of file ckrdma.C.
References CmiAbort(), ForArrayEltMsg, ForBocMsg, ForNodeBocMsg, envelope::getMsgtype(), handleArrayMsgOnChildPostCompletionForRecvBcast(), handleGroupMsgOnChildPostCompletionForRecvBcast(), and handleNGMsgOnChildPostCompletionForRecvBcast().
Referenced by CkRdmaEMBcastPostAckHandler(), and CkRdmaIssueRgets().
void handleMsgOnInterimPostCompletionForRecvBcast | ( | envelope * | env, | |
NcpyBcastInterimAckInfo * | bcastAckInfo, | |||
int | pe | |||
) |
Definition at line 1535 of file ckrdma.C.
References CkReplaceSourcePtrsInBcastMsg(), ForArrayEltMsg, ForBocMsg, forwardMessageToChildNodes(), getArrayMgrFromMsg(), envelope::getMsgtype(), CkArray::getRecvBroadcastEpIdx(), envelope::getsetArrayEp(), and envelope::setMsgtype().
Referenced by CkRdmaEMBcastPostAckHandler(), and CkRdmaIssueRgets().
CkpvExtern | ( | int | , | |
_numPendingRORdmaTransfers | ||||
) |
void readonlyUpdateNumops | ( | ) |
void readonlyAllocateOnSource | ( | ) |
Definition at line 1565 of file ckrdma.C.
References _topoTree, CmiSpanningTreeInfo::child_count, CmiAlloc(), NcpyROBcastAckInfo::counter, NcpyROBcastAckInfo::isRoot, NcpyROBcastAckInfo::numChildren, NcpyROBcastAckInfo::numops, numZerocopyROops, CmiSpanningTreeInfo::parent, and PUP::t.
Referenced by _processRODataMsg(), and _sendReadonlies().
void readonlyCreateOnSource | ( | CkNcpyBuffer & | src | ) |
Definition at line 1580 of file ckrdma.C.
References CkNcpyBuffer::bcastAckInfo, NcpyROBcastAckInfo::buffAckInfo, curROIndex, CkNcpyBuffer::layerInfo, NcpyROBcastBuffAckInfo::layerInfo, CkNcpyBuffer::pe, NcpyROBcastBuffAckInfo::pe, CkNcpyBuffer::ptr, NcpyROBcastBuffAckInfo::ptr, CkNcpyBuffer::regMode, and NcpyROBcastBuffAckInfo::regMode.
void readonlyGet | ( | CkNcpyBuffer & | src, | |
CkNcpyBuffer & | dest, | |||
void * | refPtr | |||
) |
Definition at line 1598 of file ckrdma.C.
References _allocEnv(), _roRdmaDoneHandlerIdx, _topoTree, checkForInitDone(), CmiSpanningTreeInfo::child_count, Converse::CkMyPe(), BGConverse::CkMyRank(), CMA, CkNcpyBuffer::cmaGet(), CmiAbort(), CmiAlloc(), CmiDeregisterMem(), CmiForwardProcBcastMsg(), CmiGetRdmaCommonInfoSize(), CmiIssueRget(), Converse::CmiSyncSendAndFree(), CkNcpyBuffer::cnt, CkNcpyBuffer::deregMode, findTransferMode(), getNcpyOpInfoTotalSize(), envelope::getTotalsize(), CkNcpyBuffer::isRegistered, CkNcpyBuffer::layerInfo, MEMCPY, ncpystruct::opMode, CkNcpyBuffer::pe, CkNcpyBuffer::ptr, CkNcpyBuffer::readonlyCreateOnSource, CkNcpyBuffer::ref, ncpystruct::refPtr, CkNcpyBuffer::regMode, ROChildCompletionMsg, setNcpyOpInfo(), envelope::setSrcPe(), and PUP::t.
void readonlyGetCompleted | ( | NcpyOperationInfo * | ncpyOpInfo | ) |
Definition at line 1694 of file ckrdma.C.
References _allocEnv(), _roRdmaDoneHandlerIdx, _topoTree, checkForInitDone(), CmiSpanningTreeInfo::child_count, Converse::CkMyPe(), CmiDeregisterMem(), CmiForwardProcBcastMsg(), CmiFree(), CmiGetRdmaCommonInfoSize(), CmiNodeFirst(), Converse::CmiSyncSendAndFree(), ncpystruct::destLayerInfo, ncpystruct::destPe, ncpystruct::destPtr, ncpystruct::destRegMode, envelope::getTotalsize(), ncpystruct::refPtr, ROChildCompletionMsg, ROPeerCompletionMsg, envelope::setSrcPe(), ncpystruct::srcPe, and PUP::t.
Referenced by CkRdmaDirectAckHandler().
void updatePeerCounterAndPush | ( | envelope * | env | ) |
Definition at line 1394 of file ckrdma.C.
References _topoTree, CkNcpyBuffer::bcastAckInfo, CkPackMessage(), CkUnpackMessage(), CmiNodeFirst(), CmiPushPE(), CmiRankOf(), EnvToUsr(), p, CkNcpyBuffer::pe, CkNcpyBuffer::ref, source, and PUP::t.
Referenced by _deliverForBocMsg().
Definition at line 1477 of file ckrdma.C.
References _getCkLocalBranchFromGroupID(), and envelope::getArrayMgr().
Referenced by CkRdmaEMBcastAckHandler(), handleArrayMsgOnChildPostCompletionForRecvBcast(), handleMsgOnInterimPostCompletionForRecvBcast(), and CkArray::recvBroadcast().
void sendAckMsgToParent | ( | envelope * | env | ) |
Definition at line 1467 of file ckrdma.C.
References CmiInvokeBcastAckHandler(), getParentBcastAckInfo(), and CkNcpyBuffer::ref.
Referenced by CkRdmaEMBcastAckHandler(), CkRdmaEMBcastPostAckHandler(), CkRdmaIssueRgets(), and processBcastSendEmApiCompletion().
Definition at line 1425 of file ckrdma.C.
References _topoTree, CkNcpyBuffer::bcastAckInfo, NcpyBcastRecvPeerAckInfo::bcastAckInfo, CkPackMessage(), CkUnpackMessage(), CmiForwardMsgToPeers(), CmiMyPe(), EnvToUsr(), ForArrayEltMsg, ForBocMsg, envelope::getMsgtype(), CkArray::getRecvBroadcastEpIdx(), envelope::getsetArrayEp(), envelope::getTotalsize(), NcpyBcastRecvPeerAckInfo::msg, p, NcpyBcastRecvPeerAckInfo::peerParentPe, envelope::setMsgtype(), NcpyBcastRecvPeerAckInfo::setNumPeers(), source, and PUP::t.
Referenced by CkRdmaEMBcastAckHandler(), handleArrayMsgOnChildPostCompletionForRecvBcast(), and handleGroupMsgOnChildPostCompletionForRecvBcast().