OpenPose  1.0.0rc2
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
 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,
 
)
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>)
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)
Class interface for cl_mem.
Definition: cl2.hpp:3161
size_t size_type
Definition: cl2.hpp:554
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)
size_t size_type
Definition: cl2.hpp:554
std::vector< T, Alloc > vector
Definition: cl2.hpp:567
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)
size_t size_type
Definition: cl2.hpp:554
#define CL_HPP_TARGET_OPENCL_VERSION   200
#define CL_USE_DEPRECATED_OPENCL_2_0_APIS