PPL Logo

CkNcpyBuffer Class Reference

#include <ckrdma.h>

Collaboration diagram for CkNcpyBuffer:

Collaboration graph
[legend]

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)
envelopeCkRdmaIssueRgets (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)

Detailed Description

Definition at line 70 of file ckrdma.h.


Constructor & Destructor Documentation

CkNcpyBuffer::CkNcpyBuffer (  )  [inline]

Definition at line 122 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().

Here is the call graph for this function:

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]

Definition at line 129 of file ckrdma.h.

References init().

Here is the call graph for this function:


Member Function Documentation

void CkNcpyBuffer::checkRegModeIsValid (  )  [inline, private]

Definition at line 88 of file ckrdma.h.

References CmiAbort().

Referenced by init().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkNcpyBuffer::checkDeregModeIsValid (  )  [inline, private]

Definition at line 92 of file ckrdma.h.

References CmiAbort().

Referenced by init().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkNcpyBuffer::print (  )  [inline]

Definition at line 133 of file ckrdma.h.

References bcastAckInfo, CmiMyPe(), CmiMyRank(), cnt, deregMode, pe, ptr, ref, and regMode.

Here is the call graph for this function:

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().

Here is the caller graph for this function:

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.

Here is the call graph for this function:

void CkNcpyBuffer::setRef ( const void *  ref_  )  [inline]

Definition at line 164 of file ckrdma.h.

References ref.

const void* CkNcpyBuffer::getRef (  )  [inline]

Definition at line 168 of file ckrdma.h.

References ref.

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkNcpyBuffer::setMode ( unsigned short int  regMode_  )  [inline]

Definition at line 195 of file ckrdma.h.

References regMode.

void CkNcpyBuffer::memcpyGet ( CkNcpyBuffer source  ) 

Definition at line 17 of file ckrdma.C.

References cnt, and ptr.

Referenced by get(), and performEmApiMemcpy().

Here is the caller graph for this function:

void CkNcpyBuffer::memcpyPut ( CkNcpyBuffer destination  ) 

Definition at line 150 of file ckrdma.C.

References cnt, and ptr.

Referenced by put().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkNcpyBuffer::cmaPut ( CkNcpyBuffer destination  ) 

Definition at line 156 of file ckrdma.C.

References CmiIssueRputUsingCMA(), cnt, layerInfo, pe, and ptr.

Referenced by put().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:


Friends And Related Function Documentation

void CkRdmaDirectAckHandler ( void *  ack  )  [friend]

Definition at line 339 of file ckrdma.C.

void CkRdmaEMBcastAckHandler ( void *  ack  )  [friend]

Definition at line 1019 of file ckrdma.C.

Referenced by performEmApiMemcpy().

void constructSourceBufferObject ( NcpyOperationInfo info,
CkNcpyBuffer src 
) [friend]

Definition at line 281 of file ckrdma.C.

Referenced by invokeSourceCallback().

void constructDestinationBufferObject ( NcpyOperationInfo info,
CkNcpyBuffer dest 
) [friend]

Definition at line 294 of file ckrdma.C.

Referenced by invokeDestinationCallback().

envelope* CkRdmaIssueRgets ( envelope env,
ncpyEmApiMode  emMode,
void *  forwardMsg 
) [friend]

Definition at line 723 of file ckrdma.C.

void CkRdmaIssueRgets ( envelope env,
ncpyEmApiMode  emMode,
void *  forwardMsg,
int  numops,
void **  arrPtrs,
CkNcpyBufferPost postStructs 
) [friend]

Definition at line 841 of file ckrdma.C.

void readonlyGet ( CkNcpyBuffer src,
CkNcpyBuffer dest,
void *  refPtr 
) [friend]

Definition at line 1598 of file ckrdma.C.

void readonlyCreateOnSource ( CkNcpyBuffer src  )  [friend]

Definition at line 1580 of file ckrdma.C.

Referenced by readonlyGet().

void performEmApiNcpyTransfer ( CkNcpyBuffer source,
CkNcpyBuffer dest,
int  opIndex,
int  child_count,
char *  ref,
int  extraSize,
CkNcpyMode  ncpyMode,
ncpyEmApiMode  emMode 
) [friend]

Definition at line 584 of file ckrdma.C.

Referenced by CkRdmaIssueRgets().

void performEmApiRget ( CkNcpyBuffer source,
CkNcpyBuffer dest,
int  opIndex,
char *  ref,
int  extraSize,
ncpyEmApiMode  emMode 
) [friend]

Definition at line 529 of file ckrdma.C.

Referenced by performEmApiNcpyTransfer().

void performEmApiCmaTransfer ( CkNcpyBuffer source,
CkNcpyBuffer dest,
int  child_count,
ncpyEmApiMode  emMode 
) [friend]

Definition at line 510 of file ckrdma.C.

Referenced by performEmApiNcpyTransfer().

void deregisterMemFromMsg ( envelope env,
bool  isRecv 
) [friend]

Definition at line 1164 of file ckrdma.C.

Referenced by CkRdmaEMBcastAckHandler().


Field Documentation

char CkNcpyBuffer::layerInfo[CMK_COMMON_NOCOPY_DIRECT_BYTES+CMK_NOCOPY_DIRECT_BYTES] [private]

const void* CkNcpyBuffer::ptr

unsigned short int CkNcpyBuffer::regMode

unsigned short int CkNcpyBuffer::deregMode

const void* CkNcpyBuffer::ref


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:21:00 2020 for Charm++ by  doxygen 1.5.5