OpenCL C++ Bindings

Loading...
Searching...
No Matches
cl Namespace Reference

The OpenCL C++ bindings are defined within this namespace. More...

## Classes
struct | ImageFormat
| Adds constructors and member functions for cl_image_format. More...
class | Device
| Class interface for cl_device_id. More...
class | Platform
| Class interface for cl_platform_id. More...
class | Context
| Class interface for cl_context. More...
class | Event
| Class interface for cl_event. More...
class | UserEvent
| Class interface for user events (a subset of cl_event's). More...
class | Memory
| Class interface for cl_mem. More...
class | SVMTraitReadWrite
class | SVMTraitReadOnly
class | SVMTraitWriteOnly
class | SVMTraitCoarse
class | SVMTraitFine
class | SVMTraitAtomic
class | SVMAllocator
class | SVMAllocator< void, SVMTrait >
class | Buffer
| Class interface for Buffer Memory Objects. More...
class | BufferGL
| Class interface for GL Buffer Memory Objects. More...
class | BufferRenderGL
| Class interface for GL Render Buffer Memory Objects. More...
class | Image
| C++ base class for Image Memory objects. More...
class | Image1D
| Class interface for 1D Image Memory objects. More...
class | Image1DBuffer
| Image interface for 1D buffer images. More...
class | Image1DArray
| Image interface for arrays of 1D images. More...
class | Image2D
| Class interface for 2D Image Memory objects. More...
class | Image2DGL
| Class interface for GL 2D Image Memory objects. More...
class | Image2DArray
| Image interface for arrays of 2D images. More...
class | Image3D
| Class interface for 3D Image Memory objects. More...
class | Image3DGL
| Class interface for GL 3D Image Memory objects. More...
class | 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 | Pipe
| Class interface for Pipe Memory Objects. More...
class | Sampler
| Class interface for cl_sampler. More...
class | NDRange
| Class interface for specifying NDRange values. More...
struct | LocalSpaceArg
| Local address wrapper for use with Kernel::setArg. More...
class | Kernel
| Class interface for cl_kernel. More...
class | Program
| Program interface that implements cl_program. More...
class | CommandQueue
| CommandQueue interface for cl_command_queue. More...
class | DeviceCommandQueue
| DeviceCommandQueue interface for device cl_command_queues. More...
class | EnqueueArgs
class | KernelFunctor

## Typedefs
using | size_type = size_t
template<class T, class Alloc = std::allocator<T>>
using | vector = std::vector<T, Alloc>
using | string = std::string
template<class T, class D>
using | pointer = std::unique_ptr<T, D>
template<class T, size_type N>
using | array = std::array<T, N>
using | 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 | coarse_svm_vector = vector<T, cl::SVMAllocator<int, cl::SVMTraitCoarse<>>>
| Vector alias to simplify contruction of coarse-grained SVM containers.
template<class T>
using | fine_svm_vector = vector<T, cl::SVMAllocator<int, cl::SVMTraitFine<>>>
| Vector alias to simplify contruction of fine-grained SVM containers.
template<class T>
using | atomic_svm_vector = vector<T, cl::SVMAllocator<int, cl::SVMTraitAtomic<>>>
| Vector alias to simplify contruction of fine-grained SVM containers that support platform atomics.

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

## Functions
CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int | UnloadCompiler () CL_API_SUFFIX__VERSION_1_1_DEPRECATED
template<typename IteratorType>
cl_int | copy (IteratorType startIterator, IteratorType endIterator, cl::Buffer &buffer)
template<typename IteratorType>
cl_int | copy (const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator)
template<typename IteratorType>
cl_int | copy (const CommandQueue &queue, IteratorType startIterator, IteratorType endIterator, cl::Buffer &buffer)
template<typename IteratorType>
cl_int | copy (const CommandQueue &queue, const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator)
template<typename T>
cl_int | enqueueMapSVM (T *ptr, cl_bool blocking, cl_map_flags flags, size_type size, const vector< Event > *events=nullptr, Event *event=nullptr)
template<class T, class Alloc, class... Args>
cl::pointer< T, detail::Deleter< Alloc > > | allocate_pointer (const Alloc &alloc_, Args &&... args)
template<class T, class SVMTrait, class... Args>
cl::pointer< T, detail::Deleter< SVMAllocator< T, SVMTrait > > > | allocate_svm (Args... args)
template<class T, class SVMTrait, class... Args>
cl::pointer< T, detail::Deleter< SVMAllocator< T, SVMTrait > > > | allocate_svm (const cl::Context &c, Args... args)
LocalSpaceArg | Local (size_type size)
| Helper function for generating LocalSpaceArg objects.
Program | linkProgram (const Program &input1, const Program &input2, const char *options=nullptr, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
Program | linkProgram (const Program &input1, const Program &input2, const string &options, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
Program | linkProgram (const vector< Program > &inputPrograms, const char *options=nullptr, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
Program | linkProgram (const vector< Program > &inputPrograms, const string &options, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
QueueProperties | operator| (QueueProperties lhs, QueueProperties rhs)
QueueProperties | operator& (QueueProperties lhs, QueueProperties rhs)
DeviceQueueProperties | operator| (DeviceQueueProperties lhs, DeviceQueueProperties rhs)
cl_int | enqueueReadBuffer (const Buffer &buffer, cl_bool blocking, size_type offset, size_type size, void *ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | enqueueWriteBuffer (const Buffer &buffer, cl_bool blocking, size_type offset, size_type size, const void *ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
void * | enqueueMapBuffer (const Buffer &buffer, cl_bool blocking, cl_map_flags flags, size_type offset, size_type size, const vector< Event > *events=nullptr, Event *event=nullptr, cl_int *err=nullptr)
template<typename T, class D>
cl_int | enqueueMapSVM (cl::pointer< T, D > &ptr, cl_bool blocking, cl_map_flags flags, size_type size, const vector< Event > *events=nullptr, Event *event=nullptr)
template<typename T, class Alloc>
cl_int | enqueueMapSVM (cl::vector< T, Alloc > &container, cl_bool blocking, cl_map_flags flags, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | enqueueUnmapMemObject (const Memory &memory, void *mapped_ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
template<typename T>
cl_int | enqueueUnmapSVM (T *ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
template<typename T, class D>
cl_int | enqueueUnmapSVM (cl::pointer< T, D > &ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
template<typename T, class Alloc>
cl_int | enqueueUnmapSVM (cl::vector< T, Alloc > &container, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | enqueueCopyBuffer (const Buffer &src, const Buffer &dst, size_type src_offset, size_type dst_offset, size_type size, const vector< Event > *events=nullptr, Event *event=nullptr)
template<typename T, class Alloc>
cl_int | mapSVM (cl::vector< T, Alloc > &container)
template<typename T, class Alloc>
cl_int | unmapSVM (cl::vector< T, Alloc > &container)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueReadBufferRect (const Buffer &buffer, cl_bool blocking, const array< size_type, 2 > &buffer_offset, const array< size_type, 2 > &host_offset, const array< size_type, 2 > &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=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueWriteBufferRect (const Buffer &buffer, cl_bool blocking, const array< size_type, 2 > &buffer_offset, const array< size_type, 2 > &host_offset, const array< size_type, 2 > &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=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueCopyBufferRect (const Buffer &src, const Buffer &dst, const array< size_type, 2 > &src_origin, const array< size_type, 2 > &dst_origin, const array< size_type, 2 > &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=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueReadImage (const Image &image, cl_bool blocking, const array< size_type, 2 > &origin, const array< size_type, 2 > &region, size_type row_pitch, size_type slice_pitch, void *ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueWriteImage (const Image &image, cl_bool blocking, const array< size_type, 2 > &origin, const array< size_type, 2 > &region, size_type row_pitch, size_type slice_pitch, const void *ptr, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueCopyImage (const Image &src, const Image &dst, const array< size_type, 2 > &src_origin, const array< size_type, 2 > &dst_origin, const array< size_type, 2 > &region, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueCopyImageToBuffer (const Image &src, const Buffer &dst, const array< size_type, 2 > &src_origin, const array< size_type, 2 > &region, size_type dst_offset, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | 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=nullptr, Event *event=nullptr)
cl_int | enqueueCopyBufferToImage (const Buffer &src, const Image &dst, size_type src_offset, const array< size_type, 2 > &dst_origin, const array< size_type, 2 > &region, const vector< Event > *events=nullptr, Event *event=nullptr)
cl_int | flush (void)
cl_int | finish (void)

## Variables
cl::Image2DGL | CL_API_SUFFIX__VERSION_1_1_DEPRECATED

## Detailed Description

The OpenCL C++ bindings are defined within this namespace.

## Typedef Documentation

## ◆ array

template<class T, size_type N>

using cl::array = std::array<T, N>

Definition at line 627 of file opencl.hpp.

## ◆ atomic_svm_vector

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.

Definition at line 4350 of file opencl.hpp.

## ◆ BuildLogType

using cl::BuildLogType = vector<std::pair<cl::Device, typename detail::param_traits<detail::cl_program_build_info, CL_PROGRAM_BUILD_LOG>::param_type>>

Definition at line 2660 of file opencl.hpp.

## ◆ coarse_svm_vector

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.

Definition at line 4338 of file opencl.hpp.

## ◆ fine_svm_vector

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.

Definition at line 4344 of file opencl.hpp.

## ◆ pointer

template<class T, class D>

using cl::pointer = std::unique_ptr<T, D>

Definition at line 619 of file opencl.hpp.

## ◆ size_type

using cl::size_type = size_t

Definition at line 587 of file opencl.hpp.

## ◆ string

using cl::string = std::string

Definition at line 607 of file opencl.hpp.

## ◆ vector

template<class T, class Alloc = std::allocator<T>>

using cl::vector = std::vector<T, Alloc>

Definition at line 600 of file opencl.hpp.

## Enumeration Type Documentation

## ◆ DeviceQueueProperties

enum class cl::DeviceQueueProperties : cl_command_queue_properties
| strong

Definition at line 9686 of file opencl.hpp.

## ◆ QueueProperties

enum class cl::QueueProperties : cl_command_queue_properties
| strong

Definition at line 7543 of file opencl.hpp.

## Function Documentation

## ◆ allocate_pointer()

template<class T, class Alloc, class... Args>

cl::pointer< T, detail::Deleter< Alloc > > cl::allocate_pointer | ( | const Alloc & | alloc_,
|  | Args &&... | args )

Allocation operation compatible with std::allocate_ptr. Creates a unique_ptr<T> by default. This requirement is to ensure that the control block is not allocated in memory inaccessible to the host.

Definition at line 4281 of file opencl.hpp.

## ◆ allocate_svm() [1/2]

template<class T, class SVMTrait, class... Args>

cl::pointer< T, detail::Deleter< SVMAllocator< T, SVMTrait > > > cl::allocate_svm | ( | Args... | args | ) |

Definition at line 4320 of file opencl.hpp.

## ◆ allocate_svm() [2/2]

template<class T, class SVMTrait, class... Args>

cl::pointer< T, detail::Deleter< SVMAllocator< T, SVMTrait > > > cl::allocate_svm | ( | const cl::Context & | c,
|  | Args... | args )

Definition at line 4327 of file opencl.hpp.

## ◆ copy() [1/4]

template<typename IteratorType>

cl_int cl::copy | ( | const cl::Buffer & | buffer,
|  | IteratorType | startIterator,
|  | IteratorType | endIterator )
| inline

Blocking copy operation between iterators and a buffer. Device to Host. Uses default command queue.

Definition at line 10332 of file opencl.hpp.

## ◆ copy() [2/4]

template<typename IteratorType>

cl_int cl::copy | ( | const CommandQueue & | queue,
|  | const cl::Buffer & | buffer,
|  | IteratorType | startIterator,
|  | IteratorType | endIterator )
| inline

Blocking copy operation between iterators and a buffer. Device to Host. Uses specified queue.

Definition at line 10387 of file opencl.hpp.

## ◆ copy() [3/4]

template<typename IteratorType>

cl_int cl::copy | ( | const CommandQueue & | queue,
|  | IteratorType | startIterator,
|  | IteratorType | endIterator,
|  | cl::Buffer & | buffer )
| inline

Blocking copy operation between iterators and a buffer. Host to Device. Uses specified queue.

Definition at line 10348 of file opencl.hpp.

## ◆ copy() [4/4]

template<typename IteratorType>

cl_int cl::copy | ( | IteratorType | startIterator,
|  | IteratorType | endIterator,
|  | cl::Buffer & | buffer )
| inline

Blocking copy operation between iterators and a buffer. Host to Device. Uses default command queue.

Definition at line 10316 of file opencl.hpp.

## ◆ enqueueCopyBuffer()

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10291 of file opencl.hpp.

## ◆ enqueueCopyBufferRect() [1/2]

cl_int cl::enqueueCopyBufferRect | ( | const Buffer & | src,
|  | const Buffer & | dst,
|  | const array< size_type, 2 > & | src_origin,
|  | const array< size_type, 2 > & | dst_origin,
|  | const array< size_type, 2 > & | 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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10599 of file opencl.hpp.

## ◆ enqueueCopyBufferRect() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10565 of file opencl.hpp.

## ◆ enqueueCopyBufferToImage() [1/2]

cl_int cl::enqueueCopyBufferToImage | ( | const Buffer & | src,
|  | const Image & | dst,
|  | size_type | src_offset,
|  | const array< size_type, 2 > & | dst_origin,
|  | const array< size_type, 2 > & | region,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10849 of file opencl.hpp.

## ◆ enqueueCopyBufferToImage() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10823 of file opencl.hpp.

## ◆ enqueueCopyImage() [1/2]

cl_int cl::enqueueCopyImage | ( | const Image & | src,
|  | const Image & | dst,
|  | const array< size_type, 2 > & | src_origin,
|  | const array< size_type, 2 > & | dst_origin,
|  | const array< size_type, 2 > & | region,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10759 of file opencl.hpp.

## ◆ enqueueCopyImage() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10733 of file opencl.hpp.

## ◆ enqueueCopyImageToBuffer() [1/2]

cl_int cl::enqueueCopyImageToBuffer | ( | const Image & | src,
|  | const Buffer & | dst,
|  | const array< size_type, 2 > & | src_origin,
|  | const array< size_type, 2 > & | region,
|  | size_type | dst_offset,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10804 of file opencl.hpp.

## ◆ enqueueCopyImageToBuffer() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10778 of file opencl.hpp.

## ◆ enqueueMapBuffer()

void * cl::enqueueMapBuffer | ( | const Buffer & | buffer,
|  | cl_bool | blocking,
|  | cl_map_flags | flags,
|  | size_type | offset,
|  | size_type | size,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr,
|  | cl_int * | err = nullptr )
| inline

Definition at line 10090 of file opencl.hpp.

## ◆ enqueueMapSVM() [1/3]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Enqueues to the default queue a command that will allow the host to update a region of a coarse-grained SVM buffer. This variant takes a cl::pointer instance.

Definition at line 10153 of file opencl.hpp.

## ◆ enqueueMapSVM() [2/3]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Enqueues to the default queue a command that will allow the host to update a region of a coarse-grained SVM buffer. This variant takes a cl::vector instance.

Definition at line 10177 of file opencl.hpp.

## ◆ enqueueMapSVM() [3/3]

template<typename T>

cl_int cl::enqueueMapSVM | ( | T * | ptr,
|  | cl_bool | blocking,
|  | cl_map_flags | flags,
|  | size_type | size,
|  | const vector< Event > * | events,
|  | Event * | event )
| inline

Enqueues to the default queue a command that will allow the host to update a region of a coarse-grained SVM buffer. This variant takes a raw SVM pointer.

Definition at line 10129 of file opencl.hpp.

## ◆ enqueueReadBuffer()

cl_int cl::enqueueReadBuffer | ( | const Buffer & | buffer,
|  | cl_bool | blocking,
|  | size_type | offset,
|  | size_type | size,
|  | void * | ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10052 of file opencl.hpp.

## ◆ enqueueReadBufferRect() [1/2]

cl_int cl::enqueueReadBufferRect | ( | const Buffer & | buffer,
|  | cl_bool | blocking,
|  | const array< size_type, 2 > & | buffer_offset,
|  | const array< size_type, 2 > & | host_offset,
|  | const array< size_type, 2 > & | 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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10471 of file opencl.hpp.

## ◆ enqueueReadBufferRect() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10435 of file opencl.hpp.

## ◆ enqueueReadImage() [1/2]

cl_int cl::enqueueReadImage | ( | const Image & | image,
|  | cl_bool | blocking,
|  | const array< size_type, 2 > & | origin,
|  | const array< size_type, 2 > & | region,
|  | size_type | row_pitch,
|  | size_type | slice_pitch,
|  | void * | ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10657 of file opencl.hpp.

## ◆ enqueueReadImage() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10627 of file opencl.hpp.

## ◆ enqueueUnmapMemObject()

cl_int cl::enqueueUnmapMemObject | ( | const Memory & | memory,
|  | void * | mapped_ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10196 of file opencl.hpp.

## ◆ enqueueUnmapSVM() [1/3]

template<typename T, class D>

cl_int cl::enqueueUnmapSVM | ( | cl::pointer< T, D > & | ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Enqueues to the default queue a command that will release a coarse-grained SVM buffer back to the OpenCL runtime. This variant takes a cl::pointer instance.

Definition at line 10253 of file opencl.hpp.

## ◆ enqueueUnmapSVM() [2/3]

template<typename T, class Alloc>

cl_int cl::enqueueUnmapSVM | ( | cl::vector< T, Alloc > & | container,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Enqueues to the default queue a command that will release a coarse-grained SVM buffer back to the OpenCL runtime. This variant takes a cl::vector instance.

Definition at line 10274 of file opencl.hpp.

## ◆ enqueueUnmapSVM() [3/3]

template<typename T>

cl_int cl::enqueueUnmapSVM | ( | T * | ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Enqueues to the default queue a command that will release a coarse-grained SVM buffer back to the OpenCL runtime. This variant takes a raw SVM pointer.

Definition at line 10231 of file opencl.hpp.

## ◆ enqueueWriteBuffer()

cl_int cl::enqueueWriteBuffer | ( | const Buffer & | buffer,
|  | cl_bool | blocking,
|  | size_type | offset,
|  | size_type | size,
|  | const void * | ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10071 of file opencl.hpp.

## ◆ enqueueWriteBufferRect() [1/2]

cl_int cl::enqueueWriteBufferRect | ( | const Buffer & | buffer,
|  | cl_bool | blocking,
|  | const array< size_type, 2 > & | buffer_offset,
|  | const array< size_type, 2 > & | host_offset,
|  | const array< size_type, 2 > & | 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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10536 of file opencl.hpp.

## ◆ enqueueWriteBufferRect() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10500 of file opencl.hpp.

## ◆ enqueueWriteImage() [1/2]

cl_int cl::enqueueWriteImage | ( | const Image & | image,
|  | cl_bool | blocking,
|  | const array< size_type, 2 > & | origin,
|  | const array< size_type, 2 > & | region,
|  | size_type | row_pitch,
|  | size_type | slice_pitch,
|  | const void * | ptr,
|  | const vector< Event > * | events = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10710 of file opencl.hpp.

## ◆ enqueueWriteImage() [2/2]

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 = nullptr,
|  | Event * | event = nullptr )
| inline

Definition at line 10680 of file opencl.hpp.

## ◆ finish()

cl_int cl::finish | ( | void |  | ) |
| inline

Definition at line 10887 of file opencl.hpp.

## ◆ flush()

cl_int cl::flush | ( | void |  | ) |
| inline

Definition at line 10875 of file opencl.hpp.

## ◆ linkProgram() [1/4]

Program cl::linkProgram | ( | const Program & | input1,
|  | const Program & | input2,
|  | const char * | options = nullptr,
|  | void(CL_CALLBACK *notifyFptr)(cl_program, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Definition at line 7350 of file opencl.hpp.

## ◆ linkProgram() [2/4]

Program cl::linkProgram | ( | const Program & | input1,
|  | const Program & | input2,
|  | const string & | options,
|  | void(CL_CALLBACK *notifyFptr)(cl_program, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Definition at line 7385 of file opencl.hpp.

## ◆ linkProgram() [3/4]

Program cl::linkProgram | ( | const vector< Program > & | inputPrograms,
|  | const char * | options = nullptr,
|  | void(CL_CALLBACK *notifyFptr)(cl_program, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Definition at line 7396 of file opencl.hpp.

## ◆ linkProgram() [4/4]

Program cl::linkProgram | ( | const vector< Program > & | inputPrograms,
|  | const string & | options,
|  | void(CL_CALLBACK *notifyFptr)(cl_program, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Definition at line 7435 of file opencl.hpp.

## ◆ Local()

LocalSpaceArg cl::Local | ( | size_type | size | ) |
| inline

Helper function for generating LocalSpaceArg objects.

Local

Definition at line 6244 of file opencl.hpp.

## ◆ mapSVM()

template<typename T, class Alloc>

cl_int cl::mapSVM | ( | cl::vector< T, Alloc > & | container | ) |
| inline

Blocking SVM map operation - performs a blocking map underneath.

Definition at line 10418 of file opencl.hpp.

## ◆ operator&()

QueueProperties cl::operator& | ( | QueueProperties | lhs,
|  | QueueProperties | rhs )
| inline

Definition at line 7555 of file opencl.hpp.

## ◆ operator|() [1/2]

DeviceQueueProperties cl::operator| | ( | DeviceQueueProperties | lhs,
|  | DeviceQueueProperties | rhs )
| inline

Definition at line 9692 of file opencl.hpp.

## ◆ operator|() [2/2]

QueueProperties cl::operator| | ( | QueueProperties | lhs,
|  | QueueProperties | rhs )
| inline

Definition at line 7550 of file opencl.hpp.

## ◆ UnloadCompiler()

cl_int cl::UnloadCompiler | ( |  | ) |
| inline

Deprecated APIs for 1.2 Unload the OpenCL compiler.

Note
  Deprecated for OpenCL 1.2. Use Platform::unloadCompiler instead.

Definition at line 3177 of file opencl.hpp.

## ◆ unmapSVM()

template<typename T, class Alloc>

cl_int cl::unmapSVM | ( | cl::vector< T, Alloc > & | container | ) |
| inline

Blocking SVM map operation - performs a blocking map underneath.

Definition at line 10427 of file opencl.hpp.