ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Typedefs | Functions
viennacl/backend/cpu_ram.hpp File Reference

Implementations for the OpenCL backend functionality. More...

#include <cassert>
#include <vector>
#include "viennacl/tools/shared_ptr.hpp"

Go to the source code of this file.

Data Structures

struct  array_deleter< U >
 Helper struct for deleting an pointer to an array. More...

Namespaces

namespace  viennacl
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::backend
 

Namespace providing routines for handling the different memory domains.


namespace  viennacl::backend::cpu_ram
 

Provides implementations for handling memory buffers in CPU RAM.


namespace  viennacl::backend::cpu_ram::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.
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'.
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'.
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.

Detailed Description

Implementations for the OpenCL backend functionality.