ViennaCL - The Vienna Computing Library
1.5.2
|
Error handling for the OpenCL layer of ViennaCL. More...
#include <CL/cl.h>
#include <string>
#include <iostream>
#include <exception>
Go to the source code of this file.
Data Structures | |
class | device_not_found |
Exception thrown in the case that a requested compute device was not found. More... | |
class | device_not_available |
Exception thrown if the selected compute device is not available (maybe locked by another process). More... | |
class | compiler_not_available |
Exception thrown if the OpenCL just-in-time compiler is not available. More... | |
class | mem_object_allocation_failure |
Exception thrown if a memory object cannot be allocated. Usually the requested memory buffer is simply too large. More... | |
class | out_of_resources |
Exception thrown if the compute device is out of resources (either global memory, registers, etc.) for the requested operation. More... | |
class | out_of_host_memory |
Exception thrown if the host cannot provide enough memory for the datastructures in the OpenCL backend (temporary arrays, etc.) to perform the requested operation. More... | |
class | profiling_info_not_available |
Exception thrown if the OpenCL context does not have CL_QUEUE_PROFILING_ENABLE set, if the execution is not complete, or the event object is a user event object. More... | |
class | mem_copy_overlap |
Exception thrown if the source buffer overlaps the destination buffer when copying from device memory to device memory. More... | |
class | image_format_mismatch |
Exception thrown if there is a mismatch in image formats for the operands. More... | |
class | image_format_not_supported |
Exception thrown if the requested image format is not supported. More... | |
class | build_program_failure |
Exception thrown if the OpenCL program cannot be built, usually due to a syntax error in the OpenCL code. More... | |
class | map_failure |
Exception thrown if the mapping of device memory to the host memory space failed. More... | |
class | invalid_value |
Exception thrown is an invalid value is provided to an OpenCL function. More... | |
class | invalid_device_type |
Exception thrown if an invalid device type is specified. More... | |
class | invalid_platform |
Exception thrown if an invalid OpenCL platform is provided to an OpenCL function. More... | |
class | invalid_device |
Exception thrown if an invalid OpenCL device is provided to an OpenCL function. More... | |
class | invalid_context |
Exception thrown if an invalid OpenCL context is provided to an OpenCL function. More... | |
class | invalid_queue_properties |
Exception thrown if invalid OpenCL command queue properties are provided when creating a command queue. More... | |
class | invalid_command_queue |
Exception thrown if an invalid OpenCL command queue is provided to an OpenCL function. More... | |
class | invalid_host_ptr |
Exception thrown if the provided pointer to host memory is invalid. More... | |
class | invalid_mem_object |
Exception thrown if an invalid OpenCL memory object (of type cl_mem) is passed to an OpenCL funciton. More... | |
class | invalid_image_format_descriptor |
Exception thrown if an invalid image format descriptor is provided. More... | |
class | invalid_image_size |
Exception thrown if the image size provided is invalid (e.g. zero). More... | |
class | invalid_sampler |
Exception thrown if an invalid sampler is provided for an image. More... | |
class | invalid_binary |
Exception thrown if the OpenCL binary (generated from the jit-compiler or loaded from some other location) won't work on the device (e.g. due to a lack of double precision support). More... | |
class | invalid_build_options |
Exception thrown if invalid build options are passed to the OpenCL just-in-time compiler. More... | |
class | invalid_program |
Exception thrown if an OpenCL program object handle is invalid (e.g. not initialized). More... | |
class | invalid_program_executable |
Exception thrown if there is no built program exectuable available for the device. More... | |
class | invalid_kernel_name |
Exception thrown if the provided kernel name is invalid (e.g. not part of the program provided). More... | |
class | invalid_kernel_definition |
Exception thrown if the kernel definition (number of arguments, argument types, etc.) is not the same for all devices for which the program has been built. More... | |
class | invalid_kernel |
Exception thrown if the provided kernel object (of type cl_kernel) is invalid (e.g. not initialized, from different context, or corrupted). More... | |
class | invalid_arg_index |
Exception thrown if the kernel argument index is invalid, e.g. an arg index larger than the number of kernel arguments was provided. More... | |
class | invalid_arg_value |
Exception thrown if the kernel argument provided has an invalid value. More... | |
class | invalid_arg_size |
Exception thrown if the arguments to an OpenCL kernel have an invalid size e.g. not sizeof(cl_mem)). More... | |
class | invalid_kernel_args |
Exception thrown if the kernel arguments are invalid and/or do not fit the kernel parameter list. More... | |
class | invalid_work_dimension |
Exception thrown if the work dimension is invalid (usually this means that the work dimension was set to be larger than three. More... | |
class | invalid_work_group_size |
Exception thrown if the number of work groups is invalid (usually this means that more than 256/512/768/1024 work groups have been specified, but the device(s) cannot support this. More... | |
class | invalid_work_item_size |
Exception thrown if the number of work items per work group invalid (usually this means that more than 256/512/768/1024 work items have been specified, but the device(s) cannot support this. More... | |
class | invalid_global_offset |
Exception thrown if the provided offset for get_global_id() in OpenCL kernels is invalid. More... | |
class | invalid_event_wait_list |
Exception thrown if the provided event wait list is invalid. More... | |
class | invalid_event |
Exception thrown if the provided event object (of type cl_event) is invalid. More... | |
class | invalid_operation |
Exception thrown if interoperability of OpenCL with other frameworks collide. More... | |
class | invalid_gl_object |
Exception thrown if the provided OpenGL (not OpenCL) object is invalid. More... | |
class | invalid_buffer_size |
Exception thrown if the provided buffer size is invalid (e.g. zero) More... | |
class | invalid_mip_level |
Exception thrown if the provided miplevel is greater than zero, but the OpenGL implementation does not support creating from non-zero mipmap levels. More... | |
class | invalid_global_work_size |
Exception thrown if the total number of work items is invalid (for example, not divisible by the number of work items per work group). More... | |
class | invalid_property |
Exception thrown if an invalid property is provided to a function (vague value). More... | |
class | unknown_error |
Exception thrown if the returned error cannot be resolved to some defined error constant. Might result from invalid sources, invalid memory operations, etc. More... | |
class | double_precision_not_provided_error |
Exception thrown if the user wants to use double precision arithmetics, but the device does not support double precision. More... | |
struct | error_checker< T > |
An error reporting class. Template argument is used to avoid problems with external linkage. 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::ocl |
OpenCL backend. Manages platforms, contexts, buffers, kernels, etc. | |
Defines | |
#define | VIENNACL_BUG_REPORT_STRING |
#define | VIENNACL_ERR_CHECK(err) viennacl::ocl::error_checker<void>::checkError(err, __FILE__, __FUNCTION__, __LINE__); |
Error handling for the OpenCL layer of ViennaCL.
#define VIENNACL_BUG_REPORT_STRING |
"\nIf you think that this is a bug in ViennaCL, please report it at viennacl-support@lists.sourceforge.net and supply at least the following information:\n"\ " * Operating System\n"\ " * Which OpenCL implementation (AMD, NVIDIA, etc.)\n"\ " * ViennaCL version\n"\ "Many thanks in advance!";\
#define VIENNACL_ERR_CHECK | ( | err | ) | viennacl::ocl::error_checker<void>::checkError(err, __FILE__, __FUNCTION__, __LINE__); |