ViennaCL - The Vienna Computing Library  1.1.2
Data Structures | Functions
viennacl::ocl Namespace Reference

Data Structures

class  backend
 A backend that provides contexts for ViennaCL objects (vector, matrix, etc.) More...
class  command_queue
 A class representing a command queue. More...
class  context
class  device
 A class representing a compute device (e.g. a GPU) More...
class  device_not_found
class  device_not_available
class  compiler_not_available
class  mem_object_allocation_failure
class  out_of_resources
class  out_of_host_memory
class  profiling_info_not_available
class  mem_copy_overlap
class  image_format_mismatch
class  image_format_not_supported
class  build_program_failure
class  map_failure
class  invalid_value
class  invalid_device_type
class  invalid_platform
class  invalid_device
class  invalid_context
class  invalid_queue_properties
class  invalid_command_queue
class  invalid_host_ptr
class  invalid_mem_object
class  invalid_image_format_descriptor
class  invalid_image_size
class  invalid_sampler
class  invalid_binary
class  invalid_build_options
class  invalid_program
class  invalid_program_executable
class  invalid_kernel_name
class  invalid_kernel_definition
class  invalid_kernel
class  invalid_arg_index
class  invalid_arg_value
class  invalid_arg_size
class  invalid_kernel_args
class  invalid_work_dimension
class  invalid_work_group_size
class  invalid_work_item_size
class  invalid_global_offset
class  invalid_event_wait_list
class  invalid_event
class  invalid_operation
class  invalid_gl_object
class  invalid_buffer_size
class  invalid_mip_level
class  invalid_global_work_size
class  invalid_property
class  unknown_error
class  double_precision_not_provided_error
struct  error_checker
 An error reporting class. Template argument is used to avoid problems with external linkage. More...
struct  gpu_tag
struct  cpu_tag
struct  accelerator_tag
struct  default_tag
class  handle_inc_dec_helper
 Helper for OpenCL reference counting used by class handle. More...
struct  handle_inc_dec_helper< cl_mem >
struct  handle_inc_dec_helper< cl_program >
struct  handle_inc_dec_helper< cl_kernel >
struct  handle_inc_dec_helper< cl_command_queue >
struct  handle_inc_dec_helper< cl_context >
class  handle
 Handle class the effectively represents a smart pointer for OpenCL handles. More...
class  kernel
 Represents an OpenCL kernel within ViennaCL. More...
class  local_mem
 A class representing local (shared) OpenCL memory. Typically used as kernel argument. More...
class  platform
class  program
struct  DOUBLE_PRECISION_CHECKER
 Ensures that double precision types are only allocated if it is supported by the device. If double precision is requested for a device not capable of providing that, a double_precision_not_provided_error is thrown. More...
struct  DOUBLE_PRECISION_CHECKER< double >

Functions

viennacl::ocl::contextcurrent_context ()
 Convenience function for returning the current context.
void switch_context (long i)
 Convenience function for switching the current context.
void setup_context (long i, std::vector< cl_device_id > const &devices)
 Convenience function for setting devices for a context.
void setup_context (long i, cl_context c, std::vector< cl_device_id > const &devices, std::map< cl_device_id, std::vector< cl_command_queue > > const &queues)
 Convenience function for setting up a context in ViennaCL from an existing OpenCL context.
void setup_context (long i, cl_context c, std::vector< cl_device_id > const &devices, std::vector< cl_command_queue > const &queues)
 Convenience function for setting up a context in ViennaCL from an existing OpenCL context.
void setup_context (long i, cl_context c, cl_device_id d, cl_command_queue q)
 Convenience function for setting up a context in ViennaCL from an existing OpenCL context.
void set_context_device_type (long i, cl_device_type dev_type)
 Convenience function for setting the default device type for a context.
void set_context_device_type (long i, viennacl::ocl::gpu_tag)
 Convenience function for setting the default device type for a context to GPUs.
void set_context_device_type (long i, viennacl::ocl::cpu_tag)
 Convenience function for setting the default device type for a context to CPUs.
void set_context_device_type (long i, viennacl::ocl::default_tag)
 Convenience function for setting the default device type for a context to the default OpenCL device type.
void set_context_device_type (long i, viennacl::ocl::accelerator_tag)
 Convenience function for setting the default device type for a context to accelerators.
viennacl::ocl::command_queueget_queue ()
 Convenience function for getting the default queue for the currently active device in the active context.
viennacl::ocl::command_queueget_queue (viennacl::ocl::device d, unsigned int queue_id=0)
 Convenience function for getting the queue for a particular device in the current active context.
viennacl::ocl::command_queueget_queue (cl_device_id dev_id, unsigned int queue_id=0)
 Convenience function for getting the queue for a particular device in the current active context.
viennacl::ocl::kernelget_kernel (std::string const &prog_name, std::string const &kernel_name)
 Convenience function for getting the kernel for a particular program from the current active context.
void switch_device (viennacl::ocl::device &d)
 Convenience function for switching the active device in the current context.
viennacl::ocl::device const & current_device ()
 Convenience function for returning the active device in the current context.
template<typename KernelType >
void enqueue (KernelType &k, viennacl::ocl::command_queue const &queue)
 Enqueues a kernel in the provided queue.
template<typename KernelType >
void enqueue (KernelType &k)
 Convenience function that enqueues the provided kernel into the first queue of the currently active device in the currently active context.

Function Documentation

Convenience function for returning the current context.

viennacl::ocl::device const & current_device ( ) [inline]

Convenience function for returning the active device in the current context.

void enqueue ( KernelType &  k,
viennacl::ocl::command_queue const &  queue 
)

Enqueues a kernel in the provided queue.

void viennacl::ocl::enqueue ( KernelType &  k)

Convenience function that enqueues the provided kernel into the first queue of the currently active device in the currently active context.

viennacl::ocl::kernel& viennacl::ocl::get_kernel ( std::string const &  prog_name,
std::string const &  kernel_name 
) [inline]

Convenience function for getting the kernel for a particular program from the current active context.

Convenience function for getting the default queue for the currently active device in the active context.

viennacl::ocl::command_queue& viennacl::ocl::get_queue ( viennacl::ocl::device  d,
unsigned int  queue_id = 0 
) [inline]

Convenience function for getting the queue for a particular device in the current active context.

viennacl::ocl::command_queue& viennacl::ocl::get_queue ( cl_device_id  dev_id,
unsigned int  queue_id = 0 
) [inline]

Convenience function for getting the queue for a particular device in the current active context.

void viennacl::ocl::set_context_device_type ( long  i,
cl_device_type  dev_type 
) [inline]

Convenience function for setting the default device type for a context.

Convenience function for setting the default device type for a context to GPUs.

Convenience function for setting the default device type for a context to CPUs.

Convenience function for setting the default device type for a context to the default OpenCL device type.

Convenience function for setting the default device type for a context to accelerators.

void viennacl::ocl::setup_context ( long  i,
std::vector< cl_device_id > const &  devices 
) [inline]

Convenience function for setting devices for a context.

void viennacl::ocl::setup_context ( long  i,
cl_context  c,
std::vector< cl_device_id > const &  devices,
std::map< cl_device_id, std::vector< cl_command_queue > > const &  queues 
) [inline]

Convenience function for setting up a context in ViennaCL from an existing OpenCL context.

void viennacl::ocl::setup_context ( long  i,
cl_context  c,
std::vector< cl_device_id > const &  devices,
std::vector< cl_command_queue > const &  queues 
) [inline]

Convenience function for setting up a context in ViennaCL from an existing OpenCL context.

void viennacl::ocl::setup_context ( long  i,
cl_context  c,
cl_device_id  d,
cl_command_queue  q 
) [inline]

Convenience function for setting up a context in ViennaCL from an existing OpenCL context.

void viennacl::ocl::switch_context ( long  i) [inline]

Convenience function for switching the current context.

Convenience function for switching the active device in the current context.