#include <ckrdma.h>
Public Member Functions | |
CkNcpyBuffer () | |
CkNcpyBuffer (const void *ptr_, size_t cnt_, unsigned short int regMode_=CK_BUFFER_REG, unsigned short int deregMode_=CK_BUFFER_DEREG) | |
CkNcpyBuffer (const void *ptr_, size_t cnt_, CkCallback &cb_, unsigned short int regMode_=CK_BUFFER_REG, unsigned short int deregMode_=CK_BUFFER_DEREG) | |
void | print () |
void | init (const void *ptr_, size_t cnt_, CkCallback &cb_, unsigned short int regMode_=CK_BUFFER_REG, unsigned short int deregMode_=CK_BUFFER_DEREG) |
void | init (const void *ptr_, size_t cnt_, unsigned short int regMode_=CK_BUFFER_REG, unsigned short int deregMode_=CK_BUFFER_DEREG) |
void | setRef (const void *ref_) |
const void * | getRef () |
void | registerMem () |
void | setMode (unsigned short int regMode_) |
void | memcpyGet (CkNcpyBuffer &source) |
void | memcpyPut (CkNcpyBuffer &destination) |
void | cmaGet (CkNcpyBuffer &source) |
void | cmaPut (CkNcpyBuffer &destination) |
void | rdmaGet (CkNcpyBuffer &source) |
void | rdmaPut (CkNcpyBuffer &destination) |
CkNcpyStatus | get (CkNcpyBuffer &source) |
CkNcpyStatus | put (CkNcpyBuffer &destination) |
void | deregisterMem () |
void | pup (PUP::er &p) |
Data Fields | |
const void * | ptr |
size_t | cnt |
CkCallback | cb |
int | pe |
unsigned short int | regMode |
unsigned short int | deregMode |
const void * | ref |
const void * | bcastAckInfo |
Private Member Functions | |
void | checkRegModeIsValid () |
void | checkDeregModeIsValid () |
Private Attributes | |
bool | isRegistered |
char | layerInfo [CMK_COMMON_NOCOPY_DIRECT_BYTES+CMK_NOCOPY_DIRECT_BYTES] |
Friends | |
void | CkRdmaDirectAckHandler (void *ack) |
void | CkRdmaEMBcastAckHandler (void *ack) |
void | constructSourceBufferObject (NcpyOperationInfo *info, CkNcpyBuffer &src) |
void | constructDestinationBufferObject (NcpyOperationInfo *info, CkNcpyBuffer &dest) |
envelope * | CkRdmaIssueRgets (envelope *env, ncpyEmApiMode emMode, void *forwardMsg) |
void | CkRdmaIssueRgets (envelope *env, ncpyEmApiMode emMode, void *forwardMsg, int numops, void **arrPtrs, CkNcpyBufferPost *postStructs) |
void | readonlyGet (CkNcpyBuffer &src, CkNcpyBuffer &dest, void *refPtr) |
void | readonlyCreateOnSource (CkNcpyBuffer &src) |
void | performEmApiNcpyTransfer (CkNcpyBuffer &source, CkNcpyBuffer &dest, int opIndex, int child_count, char *ref, int extraSize, CkNcpyMode ncpyMode, ncpyEmApiMode emMode) |
void | performEmApiRget (CkNcpyBuffer &source, CkNcpyBuffer &dest, int opIndex, char *ref, int extraSize, ncpyEmApiMode emMode) |
void | performEmApiCmaTransfer (CkNcpyBuffer &source, CkNcpyBuffer &dest, int child_count, ncpyEmApiMode emMode) |
void | deregisterMemFromMsg (envelope *env, bool isRecv) |
Definition at line 70 of file ckrdma.h.
CkNcpyBuffer::CkNcpyBuffer | ( | const void * | ptr_, | |
size_t | cnt_, | |||
unsigned short int | regMode_ = CK_BUFFER_REG , |
|||
unsigned short int | deregMode_ = CK_BUFFER_DEREG | |||
) | [inline, explicit] |
Definition at line 124 of file ckrdma.h.
References cb, CkCallback::ignore, and init().
CkNcpyBuffer::CkNcpyBuffer | ( | const void * | ptr_, | |
size_t | cnt_, | |||
CkCallback & | cb_, | |||
unsigned short int | regMode_ = CK_BUFFER_REG , |
|||
unsigned short int | deregMode_ = CK_BUFFER_DEREG | |||
) | [inline, explicit] |
void CkNcpyBuffer::checkRegModeIsValid | ( | ) | [inline, private] |
Definition at line 88 of file ckrdma.h.
References CmiAbort().
Referenced by init().
void CkNcpyBuffer::checkDeregModeIsValid | ( | ) | [inline, private] |
Definition at line 92 of file ckrdma.h.
References CmiAbort().
Referenced by init().
void CkNcpyBuffer::print | ( | ) | [inline] |
void CkNcpyBuffer::init | ( | const void * | ptr_, | |
size_t | cnt_, | |||
CkCallback & | cb_, | |||
unsigned short int | regMode_ = CK_BUFFER_REG , |
|||
unsigned short int | deregMode_ = CK_BUFFER_DEREG | |||
) | [inline] |
Definition at line 137 of file ckrdma.h.
References cb.
Referenced by CkNcpyBuffer().
void CkNcpyBuffer::init | ( | const void * | ptr_, | |
size_t | cnt_, | |||
unsigned short int | regMode_ = CK_BUFFER_REG , |
|||
unsigned short int | deregMode_ = CK_BUFFER_DEREG | |||
) | [inline] |
Definition at line 142 of file ckrdma.h.
References checkDeregModeIsValid(), checkRegModeIsValid(), Converse::CkMyPe(), cnt, deregMode, isRegistered, pe, ptr, registerMem(), and regMode.
void CkNcpyBuffer::setRef | ( | const void * | ref_ | ) | [inline] |
const void* CkNcpyBuffer::getRef | ( | ) | [inline] |
void CkNcpyBuffer::registerMem | ( | ) | [inline] |
Definition at line 173 of file ckrdma.h.
References BGConverse::CkMyNode(), BGConverse::CkNodeOf(), CmiGetRdmaCommonInfoSize(), CmiSetRdmaBufferInfo(), CmiSetRdmaCommonInfo(), cnt, isRegistered, layerInfo, pe, ptr, and regMode.
Referenced by init().
void CkNcpyBuffer::setMode | ( | unsigned short int | regMode_ | ) | [inline] |
void CkNcpyBuffer::memcpyGet | ( | CkNcpyBuffer & | source | ) |
void CkNcpyBuffer::memcpyPut | ( | CkNcpyBuffer & | destination | ) |
void CkNcpyBuffer::cmaGet | ( | CkNcpyBuffer & | source | ) |
Definition at line 23 of file ckrdma.C.
References CmiIssueRgetUsingCMA(), cnt, layerInfo, pe, and ptr.
Referenced by get(), performEmApiCmaTransfer(), and readonlyGet().
void CkNcpyBuffer::cmaPut | ( | CkNcpyBuffer & | destination | ) |
void CkNcpyBuffer::rdmaGet | ( | CkNcpyBuffer & | source | ) |
Definition at line 34 of file ckrdma.C.
References cb, CmiAlloc(), CmiGetRdmaCommonInfoSize(), CmiIssueRget(), CmiSetRdmaBufferInfo(), cnt, deregMode, getNcpyOpInfoTotalSize(), isRegistered, layerInfo, pe, ptr, ref, regMode, and setNcpyOpInfo().
Referenced by get().
void CkNcpyBuffer::rdmaPut | ( | CkNcpyBuffer & | destination | ) |
Definition at line 167 of file ckrdma.C.
References cb, CmiAlloc(), CmiGetRdmaCommonInfoSize(), CmiIssueRput(), CmiSetRdmaBufferInfo(), cnt, deregMode, getNcpyOpInfoTotalSize(), isRegistered, layerInfo, pe, ptr, ref, regMode, and setNcpyOpInfo().
Referenced by put().
CkNcpyStatus CkNcpyBuffer::get | ( | CkNcpyBuffer & | source | ) |
Definition at line 83 of file ckrdma.C.
References cb, BGConverse::CkMyNode(), BGConverse::CkNodeOf(), CMA, cmaGet(), cnt, complete, findTransferMode(), incomplete, MEMCPY, memcpyGet(), pe, QdCreate(), RDMA, rdmaGet(), regMode, and CkCallback::send().
CkNcpyStatus CkNcpyBuffer::put | ( | CkNcpyBuffer & | destination | ) |
Definition at line 216 of file ckrdma.C.
References cb, BGConverse::CkMyNode(), BGConverse::CkNodeOf(), CMA, cmaPut(), cnt, complete, findTransferMode(), incomplete, MEMCPY, memcpyPut(), pe, QdCreate(), RDMA, rdmaPut(), regMode, and CkCallback::send().
void CkNcpyBuffer::deregisterMem | ( | ) | [inline] |
Definition at line 212 of file ckrdma.h.
References BGConverse::CkMyNode(), BGConverse::CkNodeOf(), CmiDeregisterMem(), CmiGetRdmaCommonInfoSize(), isRegistered, layerInfo, pe, ptr, and regMode.
Referenced by CkRdmaEMBcastAckHandler().
void CkNcpyBuffer::pup | ( | PUP::er & | p | ) | [inline] |
Definition at line 227 of file ckrdma.h.
References bcastAckInfo, cb, cnt, deregMode, isRegistered, layerInfo, p, pe, ptr, PUP::PUParray(), ref, and regMode.
void CkRdmaEMBcastAckHandler | ( | void * | ack | ) | [friend] |
void constructSourceBufferObject | ( | NcpyOperationInfo * | info, | |
CkNcpyBuffer & | src | |||
) | [friend] |
void constructDestinationBufferObject | ( | NcpyOperationInfo * | info, | |
CkNcpyBuffer & | dest | |||
) | [friend] |
envelope* CkRdmaIssueRgets | ( | envelope * | env, | |
ncpyEmApiMode | emMode, | |||
void * | forwardMsg | |||
) | [friend] |
void CkRdmaIssueRgets | ( | envelope * | env, | |
ncpyEmApiMode | emMode, | |||
void * | forwardMsg, | |||
int | numops, | |||
void ** | arrPtrs, | |||
CkNcpyBufferPost * | postStructs | |||
) | [friend] |
void readonlyGet | ( | CkNcpyBuffer & | src, | |
CkNcpyBuffer & | dest, | |||
void * | refPtr | |||
) | [friend] |
void readonlyCreateOnSource | ( | CkNcpyBuffer & | src | ) | [friend] |
void performEmApiNcpyTransfer | ( | CkNcpyBuffer & | source, | |
CkNcpyBuffer & | dest, | |||
int | opIndex, | |||
int | child_count, | |||
char * | ref, | |||
int | extraSize, | |||
CkNcpyMode | ncpyMode, | |||
ncpyEmApiMode | emMode | |||
) | [friend] |
void performEmApiRget | ( | CkNcpyBuffer & | source, | |
CkNcpyBuffer & | dest, | |||
int | opIndex, | |||
char * | ref, | |||
int | extraSize, | |||
ncpyEmApiMode | emMode | |||
) | [friend] |
void performEmApiCmaTransfer | ( | CkNcpyBuffer & | source, | |
CkNcpyBuffer & | dest, | |||
int | child_count, | |||
ncpyEmApiMode | emMode | |||
) | [friend] |
bool CkNcpyBuffer::isRegistered [private] |
Definition at line 75 of file ckrdma.h.
Referenced by constructDestinationBufferObject(), constructSourceBufferObject(), deregisterMem(), init(), performEmApiCmaTransfer(), performEmApiRget(), pup(), rdmaGet(), rdmaPut(), readonlyGet(), and registerMem().
char CkNcpyBuffer::layerInfo[CMK_COMMON_NOCOPY_DIRECT_BYTES+CMK_NOCOPY_DIRECT_BYTES] [private] |
Definition at line 82 of file ckrdma.h.
Referenced by CkRdmaIssueRgets(), cmaGet(), cmaPut(), constructDestinationBufferObject(), constructSourceBufferObject(), deregisterMem(), deregisterMemFromMsg(), performEmApiCmaTransfer(), performEmApiRget(), pup(), rdmaGet(), rdmaPut(), readonlyCreateOnSource(), readonlyGet(), and registerMem().
const void* CkNcpyBuffer::ptr |
Definition at line 99 of file ckrdma.h.
Referenced by CkPackRdmaPtrs(), CkRdmaIssueRgets(), CkUnpackRdmaPtrs(), cmaGet(), cmaPut(), constructDestinationBufferObject(), constructSourceBufferObject(), deregisterMem(), deregisterMemFromMsg(), init(), memcpyGet(), memcpyPut(), performEmApiCmaTransfer(), performEmApiRget(), print(), pup(), rdmaGet(), rdmaPut(), readonlyCreateOnSource(), readonlyGet(), and registerMem().
Definition at line 102 of file ckrdma.h.
Referenced by CkRdmaIssueRgets(), cmaGet(), cmaPut(), constructDestinationBufferObject(), constructSourceBufferObject(), get(), getRdmaNumopsAndBufsize(), init(), memcpyGet(), memcpyPut(), performEmApiCmaTransfer(), performEmApiRget(), print(), pup(), put(), rdmaGet(), rdmaPut(), readonlyGet(), and registerMem().
Definition at line 105 of file ckrdma.h.
Referenced by CkNcpyBuffer(), CkRdmaEMBcastAckHandler(), constructDestinationBufferObject(), constructSourceBufferObject(), get(), init(), performEmApiCmaTransfer(), performEmApiMemcpy(), performEmApiRget(), pup(), put(), rdmaGet(), and rdmaPut().
Definition at line 108 of file ckrdma.h.
Referenced by CkReplaceSourcePtrsInBcastMsg(), cmaGet(), cmaPut(), constructDestinationBufferObject(), constructSourceBufferObject(), deregisterMem(), deregisterMemFromMsg(), get(), getParentBcastAckInfo(), handleMsgUsingCMAPostCompletionForSendBcast(), init(), performEmApiRget(), print(), pup(), put(), rdmaGet(), rdmaPut(), readonlyCreateOnSource(), readonlyGet(), registerMem(), and updatePeerCounterAndPush().
unsigned short int CkNcpyBuffer::regMode |
Definition at line 111 of file ckrdma.h.
Referenced by constructDestinationBufferObject(), constructSourceBufferObject(), deregisterMem(), deregisterMemFromMsg(), get(), init(), performEmApiCmaTransfer(), performEmApiRget(), print(), pup(), put(), rdmaGet(), rdmaPut(), readonlyCreateOnSource(), readonlyGet(), registerMem(), and setMode().
unsigned short int CkNcpyBuffer::deregMode |
Definition at line 114 of file ckrdma.h.
Referenced by CkRdmaEMBcastAckHandler(), constructDestinationBufferObject(), constructSourceBufferObject(), deregisterMemFromMsg(), init(), performEmApiRget(), print(), pup(), rdmaGet(), rdmaPut(), and readonlyGet().
const void* CkNcpyBuffer::ref |
Definition at line 117 of file ckrdma.h.
Referenced by CkRdmaEMAckHandler(), CkRdmaEMBcastAckHandler(), CkRdmaIssueRgets(), constructDestinationBufferObject(), constructSourceBufferObject(), getRef(), performEmApiRget(), print(), pup(), rdmaGet(), rdmaPut(), readonlyGet(), sendAckMsgToParent(), setRef(), and updatePeerCounterAndPush().
const void* CkNcpyBuffer::bcastAckInfo |
Definition at line 120 of file ckrdma.h.
Referenced by allocateInterimNodeAckObj(), CkRdmaEMBcastAckHandler(), CkRdmaEMBcastPostAckHandler(), CkRdmaIssueRgets(), CkRdmaPrepareBcastMsg(), CkReplaceSourcePtrsInBcastMsg(), getParentBcastAckInfo(), handleMsgUsingCMAPostCompletionForSendBcast(), performEmApiMemcpy(), print(), processBcastSendEmApiCompletion(), pup(), readonlyCreateOnSource(), sendRecvDoneMsgToPeers(), and updatePeerCounterAndPush().