SkePU(integratedwithStarPU)
0.8.1
|
A class representing an OpenCL device memory allocation. More...
#include <device_mem_pointer_cl.h>
Public Member Functions | |
DeviceMemPointer_CL (T *start, int numElements, Device_CL *device) | |
~DeviceMemPointer_CL () | |
void | copyHostToDevice (int numElements=-1, bool copyLast=false) const |
void | copyDeviceToHost (int numElements=-1, bool copyLast=false) const |
void | copyDeviceToDevice (cl_mem copyToPointer, int numElements, int dstOffset=0, int srcOffset=0) const |
cl_mem | getDeviceDataPointer () const |
void | changeDeviceData () |
A class representing an OpenCL device memory allocation.
This class represents an OpenCL device memory allocation and controls the data transfers between host and device. Used rarely in this translation as data management is mostly done by StarPU.
skepu::DeviceMemPointer_CL< T >::DeviceMemPointer_CL | ( | T * | start, |
int | numElements, | ||
Device_CL * | device | ||
) |
The constructor allocates a certain amount of space in device memory and stores a pointer to some data in host memory.
start | Pointer to data in host memory. |
numElements | Number of elements to allocate memory for. |
device | Pointer to a valid device to allocate the space on. |
References skepu::Device_CL::getContext(), and skepu::Device_CL::getQueue().
skepu::DeviceMemPointer_CL< T >::~DeviceMemPointer_CL | ( | ) |
The destructor releases the allocated device memory.
void skepu::DeviceMemPointer_CL< T >::changeDeviceData | ( | ) |
Marks the device data as changed.
void skepu::DeviceMemPointer_CL< T >::copyDeviceToDevice | ( | cl_mem | copyToPointer, |
int | numElements, | ||
int | dstOffset = 0 , |
||
int | srcOffset = 0 |
||
) | const |
Copies data between device memory. Used internally.
copyToPointer | the pointer from where to copy |
numElements | Number of elements to copy, default value -1 = all elements. |
dstOffset | Offset in the destination pointer. |
srcOffset | Offset in the source pointer. |
void skepu::DeviceMemPointer_CL< T >::copyDeviceToHost | ( | int | numElements = -1 , |
bool | copyLast = false |
||
) | const |
Copies data from device memory to host memory. Only copies if data on device has been marked as changed.
numElements | Number of elements to copy, default value -1 = all elements. |
copyLast | Specify whether should copy only the last allocated data. |
void skepu::DeviceMemPointer_CL< T >::copyHostToDevice | ( | int | numElements = -1 , |
bool | copyLast = false |
||
) | const |
Copies data from host memory to device memory.
numElements | Number of elements to copy, default value -1 = all elements. |
copyLast | Specify whether should copy only the last allocated data. |
cl_mem skepu::DeviceMemPointer_CL< T >::getDeviceDataPointer | ( | ) | const |