vSMC
vSMC: Scalable Monte Carlo
|
OpenCL buffer. More...
#include <vsmc/opencl/cl_buffer.hpp>
Public Types | |
typedef CLManager< ID > | manager_type |
typedef std::size_t | size_type |
typedef T | value_type |
Public Member Functions | |
CLBuffer () | |
CLBuffer (size_type N,::cl_mem_flags flag=CL_MEM_READ_WRITE, void *host_ptr=nullptr) | |
CLBuffer (const CLBuffer< T, ID > &other) | |
CLBuffer (CLBuffer< T, ID > &&other) | |
~CLBuffer () | |
const ::cl::Buffer & | data () const |
Read only access to the raw cl::Buffer object. More... | |
::cl_mem_flags | flag () const |
void * | host_ptr () const |
CLBuffer< T, ID > & | operator= (const CLBuffer< T, ID > &other) |
CLBuffer< T, ID > & | operator= (CLBuffer< T, ID > &&other) |
void | resize (size_type N) |
void | resize (size_type N,::cl_mem_flags flag) |
void | resize (size_type N,::cl_mem_flags flag, void *host_ptr) |
size_type | size () const |
Static Public Member Functions | |
static manager_type & | manager () |
OpenCL buffer.
Unlike cl::Buffer
, this class performs deep copy instead of shallow copy. Each CLBuffer object is tied to a specific CLManager, and thus its context and command queue, which are used to create and copy the buffers.
Definition at line 49 of file cl_buffer.hpp.
typedef CLManager<ID> vsmc::CLBuffer< T, ID >::manager_type |
Definition at line 55 of file cl_buffer.hpp.
typedef std::size_t vsmc::CLBuffer< T, ID >::size_type |
Definition at line 54 of file cl_buffer.hpp.
typedef T vsmc::CLBuffer< T, ID >::value_type |
Definition at line 53 of file cl_buffer.hpp.
|
inline |
Definition at line 57 of file cl_buffer.hpp.
|
inline |
Definition at line 60 of file cl_buffer.hpp.
|
inline |
Definition at line 66 of file cl_buffer.hpp.
|
inline |
Definition at line 101 of file cl_buffer.hpp.
|
inline |
Definition at line 126 of file cl_buffer.hpp.
|
inline |
Read only access to the raw cl::Buffer
object.
This is alike the data
method of C++11 std::vector
etc. It provides direct access to the raw buffer.
Definition at line 141 of file cl_buffer.hpp.
|
inline |
Definition at line 132 of file cl_buffer.hpp.
|
inline |
Definition at line 134 of file cl_buffer.hpp.
|
inlinestatic |
Definition at line 128 of file cl_buffer.hpp.
|
inline |
Definition at line 82 of file cl_buffer.hpp.
|
inline |
Definition at line 111 of file cl_buffer.hpp.
|
inline |
Definition at line 143 of file cl_buffer.hpp.
|
inline |
Definition at line 153 of file cl_buffer.hpp.
|
inline |
Definition at line 164 of file cl_buffer.hpp.
|
inline |
Definition at line 130 of file cl_buffer.hpp.