OpenCL C++ Bindings
Loading...
Searching...
No Matches
cl Namespace Reference

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

Classes

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

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 616 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 4277 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 2597 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 4265 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 4271 of file opencl.hpp.

◆ pointer

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

Definition at line 608 of file opencl.hpp.

◆ size_type

using cl::size_type = size_t

Definition at line 576 of file opencl.hpp.

◆ string

using cl::string = std::string

Definition at line 596 of file opencl.hpp.

◆ vector

template<class T , class Alloc = std::allocator<T>>
using cl::vector = std::vector<T, Alloc>

Definition at line 589 of file opencl.hpp.

Enumeration Type Documentation

◆ DeviceQueueProperties

enum class cl::DeviceQueueProperties : cl_command_queue_properties
strong

Definition at line 9347 of file opencl.hpp.

◆ QueueProperties

enum class cl::QueueProperties : cl_command_queue_properties
strong

Definition at line 7204 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 4218 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 4247 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 4254 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 9993 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 10048 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 10009 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 9977 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 9952 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 10260 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 10226 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 10510 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 10484 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 10420 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 10394 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 10465 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 10439 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 9751 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 9814 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 9838 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 9790 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 9713 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 10132 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 10096 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 10318 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 10288 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 9857 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 9914 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 9935 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 9892 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 9732 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 10197 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 10161 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 10371 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 10341 of file opencl.hpp.

◆ finish()

cl_int cl::finish ( void )
inline

Definition at line 10548 of file opencl.hpp.

◆ flush()

cl_int cl::flush ( void )
inline

Definition at line 10536 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 7009 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 7044 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 7055 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 7094 of file opencl.hpp.

◆ Local()

LocalSpaceArg cl::Local ( size_type size)
inline

Helper function for generating LocalSpaceArg objects.

Local

Definition at line 5903 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 10079 of file opencl.hpp.

◆ operator&()

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

Definition at line 7216 of file opencl.hpp.

◆ operator|() [1/2]

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

Definition at line 9353 of file opencl.hpp.

◆ operator|() [2/2]

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

Definition at line 7211 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 3114 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 10088 of file opencl.hpp.