All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cl2.hpp File Reference

C++ bindings for OpenCL 1.0 (rev 48), OpenCL 1.1 (rev 33), OpenCL 1.2 (rev 15) and OpenCL 2.0 (rev 29) More...

`#include <CL/opencl.h>`
`#include <utility>`
`#include <limits>`
`#include <iterator>`
`#include <mutex>`
`#include <cstring>`
`#include <functional>`
`#include <vector>`
`#include <string>`
`#include <memory>`
`#include <array>`

Go to the source code of this file.

## Classes

struct | cl::detail::ReferenceHandler< T >
struct | cl::detail::param_traits< enum_type, Name >
struct | cl::detail::GetInfoFunctor0< Func, Arg0 >
struct | cl::detail::GetInfoFunctor1< Func, Arg0, Arg1 >
struct | cl::detail::ReferenceHandler< T >
struct | cl::detail::ReferenceHandler< cl_device_id >
struct | cl::detail::ReferenceHandler< cl_platform_id >
struct | cl::detail::ReferenceHandler< cl_context >
struct | cl::detail::ReferenceHandler< cl_command_queue >
struct | cl::detail::ReferenceHandler< cl_mem >
struct | cl::detail::ReferenceHandler< cl_sampler >
struct | cl::detail::ReferenceHandler< cl_program >
struct | cl::detail::ReferenceHandler< cl_kernel >
struct | cl::detail::ReferenceHandler< cl_event >
class | cl::detail::Wrapper< T >
class | cl::detail::Wrapper< cl_device_id >
struct | cl::ImageFormat
| Adds constructors and member functions for cl_image_format. More...
class | cl::Device
| Class interface for cl_device_id. More...
class | cl::Platform
| Class interface for cl_platform_id. More...
class | cl::Context
| Class interface for cl_context. More...
class | cl::Event
| Class interface for cl_event. More...
class | cl::UserEvent
| Class interface for user events (a subset of cl_event's). More...
class | cl::Memory
| Class interface for cl_mem. More...
class | cl::detail::SVMTraitNull
class | cl::SVMTraitReadWrite< Trait >
class | cl::SVMTraitReadOnly< Trait >
class | cl::SVMTraitWriteOnly< Trait >
class | cl::SVMTraitCoarse< Trait >
class | cl::SVMTraitFine< Trait >
class | cl::SVMTraitAtomic< Trait >
class | cl::SVMAllocator< T, SVMTrait >
struct | cl::SVMAllocator< T, SVMTrait >::rebind< U >
class | cl::SVMAllocator< void, SVMTrait >
struct | cl::SVMAllocator< void, SVMTrait >::rebind< U >
class | cl::detail::Deleter< Alloc >
class | cl::Buffer
| Class interface for Buffer Memory Objects. More...
class | cl::BufferGL
| Class interface for GL Buffer Memory Objects. More...
class | cl::BufferRenderGL
| Class interface for GL Render Buffer Memory Objects. More...
class | cl::Image
| C++ base class for Image Memory objects. More...
class | cl::Image1D
| Class interface for 1D Image Memory objects. More...
class | cl::Image1DBuffer
| Image interface for 1D buffer images. More...
class | cl::Image1DArray
| Image interface for arrays of 1D images. More...
class | cl::Image2D
| Class interface for 2D Image Memory objects. More...
class | cl::Image2DArray
| Image interface for arrays of 2D images. More...
class | cl::Image3D
| Class interface for 3D Image Memory objects. More...
class | cl::ImageGL
| general image interface for GL interop. We abstract the 2D and 3D GL images into a single instance here that wraps all GL sourced images on the grounds that setup information was performed by OpenCL anyway. More...
class | cl::Pipe
| Class interface for Pipe Memory Objects. More...
class | cl::Sampler
| Class interface for cl_sampler. More...
class | cl::NDRange
| Class interface for specifying NDRange values. More...
struct | cl::LocalSpaceArg
| Local address wrapper for use with Kernel::setArg. More...
struct | cl::detail::KernelArgumentHandler< T, Enable >
struct | cl::detail::KernelArgumentHandler< T, typename std::enable_if<!std::is_base_of< cl::Memory, T >::value >::type >
struct | cl::detail::KernelArgumentHandler< T, typename std::enable_if< std::is_base_of< cl::Memory, T >::value >::type >
struct | cl::detail::KernelArgumentHandler< LocalSpaceArg, void >
class | cl::Kernel
| Class interface for cl_kernel. More...
class | cl::Program
| Program interface that implements cl_program. More...
class | cl::CommandQueue
| CommandQueue interface for cl_command_queue. More...
class | cl::DeviceCommandQueue
| DeviceCommandQueue interface for device cl_command_queues. More...
struct | cl::detail::KernelArgumentHandler< cl::DeviceCommandQueue, void >
class | cl::EnqueueArgs
class | cl::KernelFunctor< Ts >
struct | cl::compatibility::make_kernel< Ts >

## Namespaces

| cl
| The OpenCL C++ bindings are defined within this namespace.
| cl::detail
| cl::compatibility

## Macros

#define | CL_HPP_TARGET_OPENCL_VERSION 200
#define | CL_HPP_MINIMUM_OPENCL_VERSION 200
#define | CL_USE_DEPRECATED_OPENCL_2_0_APIS
#define | CL_HPP_NOEXCEPT_
#define | CL_HPP_DEFINE_STATIC_MEMBER_ __attribute__((weak))
#define | CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
#define | CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
#define | CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
#define | CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
#define | CL_CALLBACK
#define | CL_HPP_INIT_CL_EXT_FCN_PTR_(name)
#define | CL_HPP_INIT_CL_EXT_FCN_PTR_PLATFORM_(platform, name)
#define | CL_HPP_ERR_STR_(x) NULL
#define | CL_HPP_PARAM_NAME_INFO_1_0_(F)
#define | CL_HPP_PARAM_NAME_INFO_1_1_(F)
#define | CL_HPP_PARAM_NAME_INFO_1_2_(F)
#define | CL_HPP_PARAM_NAME_INFO_2_0_(F)
#define | CL_HPP_PARAM_NAME_DEVICE_FISSION_(F)
#define | CL_HPP_DECLARE_PARAM_TRAITS_(token, param_name, T)
#define | CL_HPP_PARAM_NAME_INFO_1_0_DEPRECATED_IN_2_0_(F) F(cl_device_info, CL_DEVICE_QUEUE_PROPERTIES, cl_command_queue_properties)
#define | CL_HPP_PARAM_NAME_INFO_1_1_DEPRECATED_IN_2_0_(F) F(cl_device_info, CL_DEVICE_HOST_UNIFIED_MEMORY, cl_bool)
#define | CL_HPP_PARAM_NAME_INFO_1_2_DEPRECATED_IN_2_0_(F) F(cl_image_info, CL_IMAGE_BUFFER, cl::Buffer)

## Typedefs

using | cl::size_type = size_t
template<class T , class Alloc = std::allocator<T>>
using | cl::vector = std::vector< T, Alloc >
using | cl::string = std::string
template<class T , class D >
using | cl::pointer = std::unique_ptr< T, D >
template<class T , size_type N>
using | cl::array = std::array< T, N >
using | cl::detail::size_t_array = array< size_type, 3 >
using | cl::BuildLogType = vector< std::pair< cl::Device, typename detail::param_traits< detail::cl_program_build_info, CL_PROGRAM_BUILD_LOG >::param_type >>
template<class T >
using | cl::coarse_svm_vector = vector< T, cl::SVMAllocator< int, cl::SVMTraitCoarse<>>>
| Vector alias to simplify contruction of coarse-grained SVM containers. More...
template<class T >
using | cl::fine_svm_vector = vector< T, cl::SVMAllocator< int, cl::SVMTraitFine<>>>
| Vector alias to simplify contruction of fine-grained SVM containers. More...
template<class T >
using | cl::atomic_svm_vector = vector< T, cl::SVMAllocator< int, cl::SVMTraitAtomic<>>>
| Vector alias to simplify contruction of fine-grained SVM containers that support platform atomics. More...

## Enumerations

enum | cl::QueueProperties : cl_command_queue_properties { cl::QueueProperties::None = 0, cl::QueueProperties::Profiling = CL_QUEUE_PROFILING_ENABLE, cl::QueueProperties::OutOfOrder = CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE }
enum | cl::DeviceQueueProperties : cl_command_queue_properties { cl::DeviceQueueProperties::None = 0, cl::DeviceQueueProperties::Profiling = CL_QUEUE_PROFILING_ENABLE }

## Functions

template<typename Functor , typename T >
cl_int | cl::detail::getInfoHelper (Functor f, cl_uint name, T *param, long)
template<typename Func >
cl_int | cl::detail::getInfoHelper (Func f, cl_uint name, vector< vector< unsigned char >> *param, int)
template<typename Func , typename T >
cl_int | cl::detail::getInfoHelper (Func f, cl_uint name, vector< T > *param, long)
template<typename Func , typename T >
cl_int | cl::detail::getInfoHelper (Func f, cl_uint name, vector< T > *param, int, typename T::cl_type=0)
template<typename Func >
cl_int | cl::detail::getInfoHelper (Func f, cl_uint name, string *param, long)
template<typename Func , size_type N>
cl_int | cl::detail::getInfoHelper (Func f, cl_uint name, array< size_type, N > *param, long)
template<typename Func , typename T >
cl_int | cl::detail::getInfoHelper (Func f, cl_uint name, T *param, int, typename T::cl_type=0)
template<typename Func , typename T >
cl_int | cl::detail::getInfo (Func f, cl_uint name, T *param)
template<typename Func , typename Arg0 , typename T >
cl_int | cl::detail::getInfo (Func f, const Arg0 &arg0, cl_uint name, T *param)
template<typename Func , typename Arg0 , typename Arg1 , typename T >
cl_int | cl::detail::getInfo (Func f, const Arg0 &arg0, const Arg1 &arg1, cl_uint name, T *param)
template<typename T >
bool | cl::detail::operator== (const Wrapper< T > &lhs, const Wrapper< T > &rhs)
template<typename T >
bool | cl::detail::operator!= (const Wrapper< T > &lhs, const Wrapper< T > &rhs)
template<typename IteratorType >
cl_int | cl::copy (IteratorType startIterator, IteratorType endIterator, cl::Buffer &buffer)
template<typename IteratorType >
cl_int | cl::copy (const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator)
template<typename IteratorType >
cl_int | cl::copy (const CommandQueue &queue, IteratorType startIterator, IteratorType endIterator, cl::Buffer &buffer)
template<typename IteratorType >
cl_int | cl::copy (const CommandQueue &queue, const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator)
template<typename T >
cl_int | cl::enqueueMapSVM (T *ptr, cl_bool blocking, cl_map_flags flags, size_type size, const vector< Event > *events=NULL, Event *event=NULL)
template<class T , class Alloc , class... Args>
cl::pointer< T, detail::Deleter< Alloc > > | cl::allocate_pointer (const Alloc &alloc_, Args &&...args)
template<class T , class SVMTrait , class... Args>
cl::pointer< T, detail::Deleter< SVMAllocator < T, SVMTrait > > > | cl::allocate_svm (Args...args)
template<class T , class SVMTrait , class... Args>
cl::pointer< T, detail::Deleter< SVMAllocator < T, SVMTrait > > > | cl::allocate_svm (const cl::Context &c, Args...args)
LocalSpaceArg | cl::Local (size_type size)
| Helper function for generating LocalSpaceArg objects. More...
Program | cl::linkProgram (Program input1, Program input2, const char *options=NULL, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=NULL, void *data=NULL, cl_int *err=NULL)
Program | cl::linkProgram (vector< Program > inputPrograms, const char *options=NULL, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=NULL, void *data=NULL, cl_int *err=NULL)
QueueProperties | cl::operator| (QueueProperties lhs, QueueProperties rhs)
DeviceQueueProperties | cl::operator| (DeviceQueueProperties lhs, DeviceQueueProperties rhs)
cl_int | cl::enqueueReadBuffer (const Buffer &buffer, cl_bool blocking, size_type offset, size_type size, void *ptr, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueWriteBuffer (const Buffer &buffer, cl_bool blocking, size_type offset, size_type size, const void *ptr, const vector< Event > *events=NULL, Event *event=NULL)
void * | cl::enqueueMapBuffer (const Buffer &buffer, cl_bool blocking, cl_map_flags flags, size_type offset, size_type size, const vector< Event > *events=NULL, Event *event=NULL, cl_int *err=NULL)
template<typename T , class D >
cl_int | cl::enqueueMapSVM (cl::pointer< T, D > ptr, cl_bool blocking, cl_map_flags flags, size_type size, const vector< Event > *events=NULL, Event *event=NULL)
template<typename T , class Alloc >
cl_int | cl::enqueueMapSVM (cl::vector< T, Alloc > container, cl_bool blocking, cl_map_flags flags, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueUnmapMemObject (const Memory &memory, void *mapped_ptr, const vector< Event > *events=NULL, Event *event=NULL)
template<typename T >
cl_int | cl::enqueueUnmapSVM (T *ptr, const vector< Event > *events=NULL, Event *event=NULL)
template<typename T , class D >
cl_int | cl::enqueueUnmapSVM (cl::pointer< T, D > &ptr, const vector< Event > *events=NULL, Event *event=NULL)
template<typename T , class Alloc >
cl_int | cl::enqueueUnmapSVM (cl::vector< T, Alloc > &container, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueCopyBuffer (const Buffer &src, const Buffer &dst, size_type src_offset, size_type dst_offset, size_type size, const vector< Event > *events=NULL, Event *event=NULL)
template<typename T , class Alloc >
cl_int | cl::mapSVM (cl::vector< T, Alloc > &container)
template<typename T , class Alloc >
cl_int | cl::unmapSVM (cl::vector< T, Alloc > &container)
cl_int | cl::enqueueReadBufferRect (const Buffer &buffer, cl_bool blocking, const array< size_type, 3 > &buffer_offset, const array< size_type, 3 > &host_offset, const array< size_type, 3 > &region, size_type buffer_row_pitch, size_type buffer_slice_pitch, size_type host_row_pitch, size_type host_slice_pitch, void *ptr, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueWriteBufferRect (const Buffer &buffer, cl_bool blocking, const array< size_type, 3 > &buffer_offset, const array< size_type, 3 > &host_offset, const array< size_type, 3 > &region, size_type buffer_row_pitch, size_type buffer_slice_pitch, size_type host_row_pitch, size_type host_slice_pitch, const void *ptr, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueCopyBufferRect (const Buffer &src, const Buffer &dst, const array< size_type, 3 > &src_origin, const array< size_type, 3 > &dst_origin, const array< size_type, 3 > &region, size_type src_row_pitch, size_type src_slice_pitch, size_type dst_row_pitch, size_type dst_slice_pitch, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueReadImage (const Image &image, cl_bool blocking, const array< size_type, 3 > &origin, const array< size_type, 3 > &region, size_type row_pitch, size_type slice_pitch, void *ptr, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueWriteImage (const Image &image, cl_bool blocking, const array< size_type, 3 > &origin, const array< size_type, 3 > &region, size_type row_pitch, size_type slice_pitch, const void *ptr, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueCopyImage (const Image &src, const Image &dst, const array< size_type, 3 > &src_origin, const array< size_type, 3 > &dst_origin, const array< size_type, 3 > &region, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueCopyImageToBuffer (const Image &src, const Buffer &dst, const array< size_type, 3 > &src_origin, const array< size_type, 3 > &region, size_type dst_offset, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::enqueueCopyBufferToImage (const Buffer &src, const Image &dst, size_type src_offset, const array< size_type, 3 > &dst_origin, const array< size_type, 3 > &region, const vector< Event > *events=NULL, Event *event=NULL)
cl_int | cl::flush (void)
cl_int | cl::finish (void)

## Detailed Description

C++ bindings for OpenCL 1.0 (rev 48), OpenCL 1.1 (rev 33), OpenCL 1.2 (rev 15) and OpenCL 2.0 (rev 29)

Author
  Lee Howes and Bruce Merry

Derived from the OpenCL 1.x C++ bindings written by Benedict R. Gaster, Laurent Morichetti and Lee Howes With additions and fixes from: Brian Cole, March 3rd 2010 and April 2012 Matt Gruenke, April 2012. Bruce Merry, February 2013. Tom Deakin and Simon McIntosh-Smith, July 2013 James Price, 2015-

Version
  2.0.10

Date
  2016-07-20

Optional extension support

      cl_ext_device_fission
      #define CL_HPP_USE_CL_DEVICE_FISSION
      cl_khr_d3d10_sharing
      #define CL_HPP_USE_DX_INTEROP
      cl_khr_sub_groups
      #define CL_HPP_USE_CL_SUB_GROUPS_KHR

Doxygen documentation for this header is available here:

    http://khronosgroup.github.io/OpenCL-CLHPP/

The latest version of this header can be found on the GitHub releases page:

    https://github.com/KhronosGroup/OpenCL-CLHPP/releases

Bugs and patches can be submitted to the GitHub repository:

    https://github.com/KhronosGroup/OpenCL-CLHPP

## Macro Definition Documentation

#define CL_CALLBACK

#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED

#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED

#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED

#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED

#define CL_HPP_DECLARE_PARAM_TRAITS_ | ( |  | token,
|  |  | param_name,
|  |  | T
| ) |  |

Value:
struct token; \
template<> \
struct param_traits<detail:: token,param_name> \
{ \
enum { value = param_name }; \
typedef T param_type; \
};

#define CL_HPP_DEFINE_STATIC_MEMBER_ __attribute__((weak))

#define CL_HPP_ERR_STR_ | ( |  | x | ) | NULL

#define CL_HPP_INIT_CL_EXT_FCN_PTR_ | ( |  | name | ) |

Value:
if (!pfn_##name) { \
pfn_##name = (PFN_##name) \
clGetExtensionFunctionAddress(#name); \
if (!pfn_##name) { \
} \
}

#define CL_HPP_INIT_CL_EXT_FCN_PTR_PLATFORM_ | ( |  | platform,
|  |  | name
| ) |  |

Value:
if (!pfn_##name) { \
pfn_##name = (PFN_##name) \
clGetExtensionFunctionAddressForPlatform(platform, #name); \
if (!pfn_##name) { \
} \
}

#define CL_HPP_MINIMUM_OPENCL_VERSION 200

#define CL_HPP_NOEXCEPT_

#define CL_HPP_PARAM_NAME_DEVICE_FISSION_ | ( |  | F | ) |

Value:
F(cl_device_info, CL_DEVICE_PARENT_DEVICE_EXT, cl_device_id) \
F(cl_device_info, CL_DEVICE_PARTITION_TYPES_EXT, cl::vector<cl_device_partition_property_ext>) \
F(cl_device_info, CL_DEVICE_AFFINITY_DOMAINS_EXT, cl::vector<cl_device_partition_property_ext>) \
F(cl_device_info, CL_DEVICE_REFERENCE_COUNT_EXT , cl_uint) \
F(cl_device_info, CL_DEVICE_PARTITION_STYLE_EXT, cl::vector<cl_device_partition_property_ext>)
cl::vector
std::vector< T, Alloc > vector
Definition: cl2.hpp:567

#define CL_HPP_PARAM_NAME_INFO_1_0_ | ( |  | F | ) |

#define CL_HPP_PARAM_NAME_INFO_1_0_DEPRECATED_IN_2_0_ | ( |  | F | ) | F(cl_device_info, CL_DEVICE_QUEUE_PROPERTIES, cl_command_queue_properties)

#define CL_HPP_PARAM_NAME_INFO_1_1_ | ( |  | F | ) |

Value:
F(cl_context_info, CL_CONTEXT_NUM_DEVICES, cl_uint)\
F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_INT, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE, cl_uint) \
F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF, cl_uint) \
F(cl_device_info, CL_DEVICE_DOUBLE_FP_CONFIG, cl_device_fp_config) \
F(cl_device_info, CL_DEVICE_HALF_FP_CONFIG, cl_device_fp_config) \
F(cl_device_info, CL_DEVICE_OPENCL_C_VERSION, string) \
\
F(cl_mem_info, CL_MEM_ASSOCIATED_MEMOBJECT, cl::Memory) \
F(cl_mem_info, CL_MEM_OFFSET, size_type) \
\
F(cl_kernel_work_group_info, CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, size_type) \
F(cl_kernel_work_group_info, CL_KERNEL_PRIVATE_MEM_SIZE, cl_ulong) \
\
F(cl_event_info, CL_EVENT_CONTEXT, cl::Context)
cl::Memory
Class interface for cl_mem.
Definition: cl2.hpp:3161
cl::size_type
size_t size_type
Definition: cl2.hpp:554
cl::Context
Class interface for cl_context.
Definition: cl2.hpp:2571

#define CL_HPP_PARAM_NAME_INFO_1_1_DEPRECATED_IN_2_0_ | ( |  | F | ) | F(cl_device_info, CL_DEVICE_HOST_UNIFIED_MEMORY, cl_bool)

#define CL_HPP_PARAM_NAME_INFO_1_2_ | ( |  | F | ) |

Value:
F(cl_program_info, CL_PROGRAM_NUM_KERNELS, size_type) \
F(cl_program_info, CL_PROGRAM_KERNEL_NAMES, string) \
\
F(cl_program_build_info, CL_PROGRAM_BINARY_TYPE, cl_program_binary_type) \
\
F(cl_kernel_info, CL_KERNEL_ATTRIBUTES, string) \
\
F(cl_kernel_arg_info, CL_KERNEL_ARG_ADDRESS_QUALIFIER, cl_kernel_arg_address_qualifier) \
F(cl_kernel_arg_info, CL_KERNEL_ARG_ACCESS_QUALIFIER, cl_kernel_arg_access_qualifier) \
F(cl_kernel_arg_info, CL_KERNEL_ARG_TYPE_NAME, string) \
F(cl_kernel_arg_info, CL_KERNEL_ARG_NAME, string) \
F(cl_kernel_arg_info, CL_KERNEL_ARG_TYPE_QUALIFIER, cl_kernel_arg_type_qualifier) \
\
F(cl_device_info, CL_DEVICE_PARENT_DEVICE, cl::Device) \
F(cl_device_info, CL_DEVICE_PARTITION_PROPERTIES, cl::vector<cl_device_partition_property>) \
F(cl_device_info, CL_DEVICE_PARTITION_TYPE, cl::vector<cl_device_partition_property>) \
F(cl_device_info, CL_DEVICE_REFERENCE_COUNT, cl_uint) \
F(cl_device_info, CL_DEVICE_PREFERRED_INTEROP_USER_SYNC, size_type) \
F(cl_device_info, CL_DEVICE_PARTITION_AFFINITY_DOMAIN, cl_device_affinity_domain) \
F(cl_device_info, CL_DEVICE_BUILT_IN_KERNELS, string) \
\
F(cl_image_info, CL_IMAGE_ARRAY_SIZE, size_type) \
F(cl_image_info, CL_IMAGE_NUM_MIP_LEVELS, cl_uint) \
F(cl_image_info, CL_IMAGE_NUM_SAMPLES, cl_uint)
cl::size_type
size_t size_type
Definition: cl2.hpp:554
cl::vector
std::vector< T, Alloc > vector
Definition: cl2.hpp:567
cl::Device
Class interface for cl_device_id.
Definition: cl2.hpp:1959

#define CL_HPP_PARAM_NAME_INFO_1_2_DEPRECATED_IN_2_0_ | ( |  | F | ) | F(cl_image_info, CL_IMAGE_BUFFER, cl::Buffer)

#define CL_HPP_PARAM_NAME_INFO_2_0_ | ( |  | F | ) |

Value:
F(cl_device_info, CL_DEVICE_QUEUE_ON_HOST_PROPERTIES, cl_command_queue_properties) \
F(cl_device_info, CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES, cl_command_queue_properties) \
F(cl_device_info, CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE, cl_uint) \
F(cl_device_info, CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE, cl_uint) \
F(cl_device_info, CL_DEVICE_MAX_ON_DEVICE_QUEUES, cl_uint) \
F(cl_device_info, CL_DEVICE_MAX_ON_DEVICE_EVENTS, cl_uint) \
F(cl_device_info, CL_DEVICE_MAX_PIPE_ARGS, cl_uint) \
F(cl_device_info, CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS, cl_uint) \
F(cl_device_info, CL_DEVICE_PIPE_MAX_PACKET_SIZE, cl_uint) \
F(cl_device_info, CL_DEVICE_SVM_CAPABILITIES, cl_device_svm_capabilities) \
F(cl_device_info, CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT, cl_uint) \
F(cl_device_info, CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT, cl_uint) \
F(cl_device_info, CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT, cl_uint) \
F(cl_command_queue_info, CL_QUEUE_SIZE, cl_uint) \
F(cl_mem_info, CL_MEM_USES_SVM_POINTER, cl_bool) \
F(cl_program_build_info, CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE, size_type) \
F(cl_pipe_info, CL_PIPE_PACKET_SIZE, cl_uint) \
F(cl_pipe_info, CL_PIPE_MAX_PACKETS, cl_uint)
cl::size_type
size_t size_type
Definition: cl2.hpp:554

#define CL_HPP_TARGET_OPENCL_VERSION 200

#define CL_USE_DEPRECATED_OPENCL_2_0_APIS