Provides implementations for handling memory buffers in CPU RAM. More...
Namespaces | |
detail | |
Holds implementation details for handling memory buffers in CPU RAM. Not intended for direct use by library users. | |
Typedefs | |
typedef viennacl::tools::shared_ptr< char > | handle_type |
Functions | |
handle_type | memory_create (vcl_size_t size_in_bytes, const void *host_ptr=NULL) |
Creates an array of the specified size in main RAM. If the second argument is provided, the buffer is initialized with data from that pointer. More... | |
void | memory_copy (handle_type const &src_buffer, handle_type &dst_buffer, vcl_size_t src_offset, vcl_size_t dst_offset, vcl_size_t bytes_to_copy) |
Copies 'bytes_to_copy' bytes from address 'src_buffer + src_offset' to memory starting at address 'dst_buffer + dst_offset'. More... | |
void | memory_write (handle_type &dst_buffer, vcl_size_t dst_offset, vcl_size_t bytes_to_copy, const void *ptr, bool) |
Writes data from main RAM identified by 'ptr' to the buffer identified by 'dst_buffer'. More... | |
void | memory_read (handle_type const &src_buffer, vcl_size_t src_offset, vcl_size_t bytes_to_copy, void *ptr, bool) |
Reads data from a buffer back to main RAM. More... | |
Provides implementations for handling memory buffers in CPU RAM.
Definition at line 40 of file cpu_ram.hpp.
|
inline |
Copies 'bytes_to_copy' bytes from address 'src_buffer + src_offset' to memory starting at address 'dst_buffer + dst_offset'.
src_buffer | A smart pointer to the begin of an allocated buffer |
dst_buffer | A smart pointer to the end of an allocated buffer |
src_offset | Offset of the first byte to be written from the address given by 'src_buffer' (in bytes) |
dst_offset | Offset of the first byte to be written to the address given by 'dst_buffer' (in bytes) |
bytes_to_copy | Number of bytes to be copied |
Definition at line 108 of file cpu_ram.hpp.
|
inline |
Creates an array of the specified size in main RAM. If the second argument is provided, the buffer is initialized with data from that pointer.
size_in_bytes | Number of bytes to allocate |
host_ptr | Pointer to data which will be copied to the new array. Must point to at least 'size_in_bytes' bytes of data. |
Definition at line 73 of file cpu_ram.hpp.
|
inline |
Reads data from a buffer back to main RAM.
src_buffer | A smart pointer to the beginning of an allocated source buffer |
src_offset | Offset of the first byte to be read from the beginning of src_buffer (in bytes_ |
bytes_to_copy | Number of bytes to be read |
ptr | Location in main RAM where to read data should be written to |
Definition at line 153 of file cpu_ram.hpp.
|
inline |
Writes data from main RAM identified by 'ptr' to the buffer identified by 'dst_buffer'.
dst_buffer | A smart pointer to the beginning of an allocated buffer |
dst_offset | Offset of the first written byte from the beginning of 'dst_buffer' (in bytes) |
bytes_to_copy | Number of bytes to be copied |
ptr | Pointer to the first byte to be written |
Definition at line 131 of file cpu_ram.hpp.