ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::backend::cuda Namespace Reference

Provides implementations for handling CUDA memory buffers. More...

Namespaces

 detail
 Holds implementation details for handling CUDA memory buffers. Not intended for direct use by library users.
 

Classes

class  cuda_exception
 

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 on the CUDA device. 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' on the CUDA device to memory starting at address 'dst_buffer + dst_offset' on the same CUDA device. More...
 
void memory_write (handle_type &dst_buffer, vcl_size_t dst_offset, vcl_size_t bytes_to_copy, const void *ptr, bool async=false)
 Writes data from main RAM identified by 'ptr' to the CUDA 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 async=false)
 Reads data from a CUDA buffer back to main RAM. More...
 

Detailed Description

Provides implementations for handling CUDA memory buffers.

Typedef Documentation

Function Documentation

void viennacl::backend::cuda::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 
)
inline

Copies 'bytes_to_copy' bytes from address 'src_buffer + src_offset' on the CUDA device to memory starting at address 'dst_buffer + dst_offset' on the same CUDA device.

Parameters
src_bufferA smart pointer to the begin of an allocated CUDA buffer
dst_bufferA smart pointer to the end of an allocated CUDA buffer
src_offsetOffset of the first byte to be written from the address given by 'src_buffer' (in bytes)
dst_offsetOffset of the first byte to be written to the address given by 'dst_buffer' (in bytes)
bytes_to_copyNumber of bytes to be copied

Definition at line 130 of file cuda.hpp.

handle_type viennacl::backend::cuda::memory_create ( vcl_size_t  size_in_bytes,
const void *  host_ptr = NULL