Implementations for the CUDA backend functionality. More...
#include <iostream>#include <vector>#include <cassert>#include <stdexcept>#include <sstream>#include "viennacl/forwards.h"#include "viennacl/tools/shared_ptr.hpp"#include <cuda_runtime.h>Go to the source code of this file.
| Classes | |
| class | viennacl::backend::cuda::cuda_exception | 
| struct | viennacl::backend::cuda::detail::cuda_deleter< U > | 
| Functor for deleting a CUDA handle. Used within the smart pointer class.  More... | |
| Namespaces | |
| viennacl | |
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
| viennacl::backend | |
| Namespace providing routines for handling the different memory domains. | |
| viennacl::backend::cuda | |
| Provides implementations for handling CUDA memory buffers. | |
| viennacl::backend::cuda::detail | |
| Holds implementation details for handling CUDA memory buffers. Not intended for direct use by library users. | |
| Macros | |
| #define | VIENNACL_CUDA_ERROR_CHECK(err) detail::cuda_error_check (err, __FILE__, __LINE__) | 
| Typedefs | |
| typedef viennacl::tools::shared_ptr < char > | viennacl::backend::cuda::handle_type | 
| Functions | |
| void | viennacl::backend::cuda::detail::cuda_error_check (cudaError error_code, const char *file, const int line) | 
| handle_type | viennacl::backend::cuda::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 | 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) | 
| 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 | viennacl::backend::cuda::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 | viennacl::backend::cuda::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... | |
Implementations for the CUDA backend functionality.
Definition in file cuda.hpp.