1 #ifndef MHO_OpenCLNDArrayBuffer_HH__
2 #define MHO_OpenCLNDArrayBuffer_HH__
24 fRank = XArrayType::rank::value;
25 fNDArray =
dynamic_cast< XArrayType*
>(element);
37 unsigned int n_bytes = (
fRank) *
sizeof(
unsigned int);
46 unsigned int n_bytes = (
static_cast< unsigned int >(
fNDArray->GetSize())) *
61 unsigned int n_bytes =
fRank *
sizeof(
unsigned int);
62 for(
unsigned int i = 0; i <
fRank; i++)
70 #ifdef ENFORCE_CL_FINISH
79 unsigned int n_bytes = (
static_cast< unsigned int >(
fNDArray->GetSize())) *
85 Q.enqueueWriteBuffer(*
fDataBufferCL, CL_TRUE, 0, n_bytes, ptr);
87 #ifdef ENFORCE_CL_FINISH
97 unsigned int n_bytes = (
static_cast< unsigned int >(
fNDArray->GetSize())) *
103 Q.enqueueReadBuffer(*
fDataBufferCL, CL_TRUE, 0, n_bytes, ptr);
105 #ifdef ENFORCE_CL_FINISH
XValueType mapped_type
Definition: MHO_OpenCLInterface.hh:28
#define CL_ERROR_CATCH
Definition: MHO_OpenCLInterface.hh:93
#define CL_ERROR_TRY
Definition: MHO_OpenCLInterface.hh:85
Class MHO_ExtensibleElement.
Definition: MHO_ExtensibleElement.hh:60
cl::CommandQueue & GetQueue(int i=-1) const
Definition: MHO_OpenCLInterface.cc:125
static MHO_OpenCLInterface * GetInstance()
Definition: MHO_OpenCLInterface.cc:32
Definition: MHO_OpenCLNDArrayBuffer.hh:19
XArrayType * fNDArray
Definition: MHO_OpenCLNDArrayBuffer.hh:112
void ConstructDataBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:43
void ReadDataBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:92
unsigned int fRank
Definition: MHO_OpenCLNDArrayBuffer.hh:113
unsigned int fDimensions[XArrayType::rank::value]
Definition: MHO_OpenCLNDArrayBuffer.hh:121
cl::Buffer * fDataBufferCL
Definition: MHO_OpenCLNDArrayBuffer.hh:127
cl::Buffer * fDimensionBufferCL
Definition: MHO_OpenCLNDArrayBuffer.hh:124
cl::Buffer * GetDimensionBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:53
MHO_ExtensibleElement * fElement
Definition: MHO_OpenCLNDArrayBuffer.hh:111
void WriteDataBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:75
virtual ~MHO_OpenCLNDArrayBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:28
void ConstructDimensionBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:34
void WriteDimensionBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:57
cl::Buffer * GetDataBuffer()
Definition: MHO_OpenCLNDArrayBuffer.hh:55
MHO_OpenCLNDArrayBuffer(MHO_ExtensibleElement *element)
Definition: MHO_OpenCLNDArrayBuffer.hh:21
Definition: MHO_ChannelLabeler.hh:17