25 #ifdef VIENNACL_WITH_CUDA
27 h.cuda_handle().reset(A->cuda_mem);
28 h.cuda_handle().inc();
46 #ifdef VIENNACL_WITH_OPENCL
48 h.opencl_handle() = A->opencl_mem;
49 h.opencl_handle().inc();
87 return init_cuda_matrix(h, A);
90 return init_opencl_matrix(h, A);
93 return init_host_matrix(h, A);
ViennaCLBackendTypes backend_type
ViennaCLInt internal_size2
ViennaCLInt internal_size1
Implements the multi-memory-domain handle.
void switch_active_handle_id(memory_types new_id)
Switches the currently active handle. If no support for that backend is provided, an exception is thr...
Main abstraction class for multiple memory domains. Represents a buffer in either main RAM...
vcl_size_t raw_size() const
Returns the number of bytes of the currently active buffer.
ViennaCLPrecision precision
ram_handle_type & ram_handle()
Returns the handle to a buffer in CPU RAM. NULL is returned if no such buffer has been allocated...