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

viennacl::ocl::context & current_context (  )  [inline]

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.

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.

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 (  )  [inline]

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

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

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

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

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

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

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

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

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

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.

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.

void viennacl::ocl::switch_device ( viennacl::ocl::device d  )  [inline]

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