OpenCL C++ Bindings
|
Class interface for cl_kernel. More...
Public Member Functions | |
Kernel (const Program &program, const char *name, cl_int *err=NULL) | |
Kernel () | |
Default constructor - initializes to NULL. | |
Kernel (const cl_kernel &kernel, bool retainObject=false) | |
Constructor from cl_kernel - takes ownership. More... | |
Kernel & | operator= (const cl_kernel &rhs) |
Assignment operator from cl_kernel - takes ownership. More... | |
Kernel (const Kernel &kernel) | |
Copy constructor to forward copy to the superclass correctly. Required for MSVC. | |
Kernel & | operator= (const Kernel &kernel) |
Copy assignment to forward copy to the superclass correctly. Required for MSVC. | |
Kernel (Kernel &&kernel) CL_HPP_NOEXCEPT_ | |
Move constructor to forward move to the superclass correctly. Required for MSVC. | |
Kernel & | operator= (Kernel &&kernel) |
Move assignment to forward move to the superclass correctly. Required for MSVC. | |
template<typename T > | |
cl_int | getInfo (cl_kernel_info name, T *param) const |
template<cl_kernel_info name> | |
detail::param_traits< detail::cl_kernel_info, name >::param_type | getInfo (cl_int *err=NULL) const |
template<typename T > | |
cl_int | getArgInfo (cl_uint argIndex, cl_kernel_arg_info name, T *param) const |
template<cl_kernel_arg_info name> | |
detail::param_traits< detail::cl_kernel_arg_info, name >::param_type | getArgInfo (cl_uint argIndex, cl_int *err=NULL) const |
template<typename T > | |
cl_int | getWorkGroupInfo (const Device &device, cl_kernel_work_group_info name, T *param) const |
template<cl_kernel_work_group_info name> | |
detail::param_traits< detail::cl_kernel_work_group_info, name >::param_type | getWorkGroupInfo (const Device &device, cl_int *err=NULL) const |
cl_int | getSubGroupInfo (const cl::Device &dev, cl_kernel_sub_group_info name, const cl::NDRange &range, size_type *param) const |
template<cl_kernel_sub_group_info name> | |
size_type | getSubGroupInfo (const cl::Device &dev, const cl::NDRange &range, cl_int *err=NULL) const |
template<typename T , class D > | |
cl_int | setArg (cl_uint index, const cl::pointer< T, D > &argPtr) |
setArg overload taking a shared_ptr type | |
template<typename T , class Alloc > | |
cl_int | setArg (cl_uint index, const cl::vector< T, Alloc > &argPtr) |
setArg overload taking a vector type. | |
template<typename T > | |
std::enable_if< std::is_pointer< T >::value, cl_int >::type | setArg (cl_uint index, const T argPtr) |
setArg overload taking a pointer type | |
template<typename T > | |
std::enable_if<!std::is_pointer< T >::value, cl_int >::type | setArg (cl_uint index, const T &value) |
setArg overload taking a POD type | |
cl_int | setArg (cl_uint index, size_type size, const void *argPtr) |
cl_int | setSVMPointers (const vector< void * > &pointerList) |
template<int ArrayLength> | |
cl_int | setSVMPointers (const std::array< void *, ArrayLength > &pointerList) |
cl_int | enableFineGrainedSystemSVM (bool svmEnabled) |
Enable fine-grained system SVM. More... | |
template<int index, int ArrayLength, class D , typename T0 , typename T1 , typename... Ts> | |
void | setSVMPointersHelper (std::array< void *, ArrayLength > &pointerList, const pointer< T0, D > &t0, const pointer< T1, D > &t1, Ts &... ts) |
template<int index, int ArrayLength, typename T0 , typename T1 , typename... Ts> | |
std::enable_if< std::is_pointer< T0 >::value, void >::type | setSVMPointersHelper (std::array< void *, ArrayLength > &pointerList, T0 t0, T1 t1, Ts... ts) |
template<int index, int ArrayLength, typename T0 , class D > | |
void | setSVMPointersHelper (std::array< void *, ArrayLength > &pointerList, const pointer< T0, D > &t0) |
template<int index, int ArrayLength, typename T0 > | |
std::enable_if< std::is_pointer< T0 >::value, void >::type | setSVMPointersHelper (std::array< void *, ArrayLength > &pointerList, T0 t0) |
template<typename T0 , typename... Ts> | |
cl_int | setSVMPointers (const T0 &t0, Ts &... ts) |
template<typename T > | |
cl_int | setExecInfo (cl_kernel_exec_info param_name, const T &val) |
template<cl_kernel_exec_info name> | |
cl_int | setExecInfo (typename detail::param_traits< detail::cl_kernel_exec_info, name >::param_type &val) |
Kernel | clone () |
![]() | |
Wrapper (const cl_type &obj, bool retainObject) | |
Wrapper (const Wrapper< cl_type > &rhs) | |
Wrapper (Wrapper< cl_type > &&rhs) CL_HPP_NOEXCEPT_ | |
Wrapper< cl_type > & | operator= (const Wrapper< cl_type > &rhs) |
Wrapper< cl_type > & | operator= (Wrapper< cl_type > &&rhs) |
Wrapper< cl_type > & | operator= (const cl_type &rhs) |
const cl_type & | operator() () const |
cl_type & | operator() () |
cl_type | get () const |
Additional Inherited Members | |
![]() | |
typedef cl_kernel | cl_type |
![]() | |
cl_int | retain () const |
cl_int | release () const |
![]() | |
cl_type | object_ |
Class interface for cl_kernel.
Definition at line 5883 of file opencl.hpp.
|
inlineexplicit |
Constructor from cl_kernel - takes ownership.
retainObject | will cause the constructor to retain its cl object. Defaults to false to maintain compatibility with earlier versions. This effectively transfers ownership of a refcount on the cl_kernel into the new Kernel object. |
Definition at line 5899 of file opencl.hpp.
|
inline |
Make a deep copy of the kernel object including its arguments.
Definition at line 6218 of file opencl.hpp.
|
inline |
Enable fine-grained system SVM.
svmEnabled | True if fine-grained system SVM is requested. False otherwise. |
Definition at line 6138 of file opencl.hpp.
|
inline |
Assignment operator from cl_kernel - takes ownership.
This effectively transfers ownership of a refcount on the rhs and calls clReleaseKernel() on the value previously held by this instance.
Definition at line 5907 of file opencl.hpp.
|
inline |
Specify a std::array of SVM pointers that the kernel may access in addition to its arguments.
Definition at line 6117 of file opencl.hpp.
|
inline |
Specify a vector of SVM pointers that the kernel may access in addition to its arguments.
Definition at line 6102 of file opencl.hpp.