All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cl::Kernel Class Reference

Class interface for cl_kernel. More...

`#include <cl2.hpp>`

Inherits cl::detail::Wrapper< cl_kernel >.

## Public Member Functions

| Kernel (const Program &program, const char *name, cl_int *err=NULL)
| Kernel ()
| Default constructor - initializes to NULL. More...
| 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. More...
Kernel & | operator= (const Kernel &kernel)
| Copy assignment to forward copy to the superclass correctly. Required for MSVC. More...
| Kernel (Kernel &&kernel) CL_HPP_NOEXCEPT_
| Move constructor to forward move to the superclass correctly. Required for MSVC. More...
Kernel & | operator= (Kernel &&kernel)
| Move assignment to forward move to the superclass correctly. Required for MSVC. More...
template<typename T >
cl_int | getInfo (cl_kernel_info name, T *param) const
template<cl_int 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_int 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_int name>
detail::param_traits < detail::cl_kernel_work_group_info, name >::param_type | getWorkGroupInfo (const Device &device, 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 More...
template<typename T , class Alloc >
cl_int | setArg (cl_uint index, const cl::vector< T, Alloc > &argPtr)
| setArg overload taking a vector type. More...
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 More...
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 More...
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... Ts>
void | setSVMPointersHelper (std::array< void *, ArrayLength > &pointerList, const pointer< T0, D > &t0, Ts...ts)
template<int index, int ArrayLength, typename T0 , typename... Ts>
std::enable_if < std::is_pointer< T0 >::value, void >::type | setSVMPointersHelper (std::array< void *, ArrayLength > &pointerList, T0 t0, 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)
Public Member Functions inherited from cl::detail::Wrapper< cl_kernel >
| Wrapper ()
| Wrapper (const cl_type &obj, bool retainObject)
| Wrapper (const Wrapper< cl_type > &rhs)
| Wrapper (Wrapper< cl_type > &&rhs) CL_HPP_NOEXCEPT_
| ~Wrapper ()
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() ()
const cl_type | get () const
cl_type | get ()

## Additional Inherited Members

Public Types inherited from cl::detail::Wrapper< cl_kernel >
typedef cl_kernel | cl_type
Protected Member Functions inherited from cl::detail::Wrapper< cl_kernel >
cl_int | retain () const
cl_int | release () const
Protected Attributes inherited from cl::detail::Wrapper< cl_kernel >
cl_type | object_

## Detailed Description

Class interface for cl_kernel.

Note
  Copies of these objects are shallow, meaning that the copy will refer to the same underlying cl_kernel as the original. For details, see clRetainKernel() and clReleaseKernel().

See Also
  cl_kernel

## Constructor & Destructor Documentation

cl::Kernel::Kernel | ( | const Program & | program,
|  | const char * | name,
|  | cl_int * | err = `NULL`
| ) |  |

inline

cl::Kernel::Kernel | ( |  | ) |

inline

Default constructor - initializes to NULL.

cl::Kernel::Kernel | ( | const cl_kernel & | kernel,
|  | bool | retainObject = `false`
| ) |  |

inlineexplicit

Constructor from cl_kernel - takes ownership.

Parameters

  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.

cl::Kernel::Kernel | ( | const Kernel & | kernel | ) |

inline

Copy constructor to forward copy to the superclass correctly. Required for MSVC.

cl::Kernel::Kernel | ( | Kernel && | kernel | ) |

inline

Move constructor to forward move to the superclass correctly. Required for MSVC.

## Member Function Documentation

cl_int cl::Kernel::enableFineGrainedSystemSVM | ( | bool | svmEnabled | ) |

inline

Enable fine-grained system SVM.

Note
  It is only possible to enable fine-grained system SVM if all devices in the context associated with kernel support it.

Parameters

  svmEnabled | True if fine-grained system SVM is requested. False otherwise.

Returns
  CL_SUCCESS if the function was executed succesfully. CL_INVALID_OPERATION if no devices in the context support fine-grained system SVM.

See Also
  clSetKernelExecInfo

template<typename T >

cl_int cl::Kernel::getArgInfo | ( | cl_uint | argIndex,
|  | cl_kernel_arg_info | name,
|  | T * | param
| ) |  | const

inline

template<cl_int name>

detail::param_traits<detail::cl_kernel_arg_info, name>::param_type cl::Kernel::getArgInfo | ( | cl_uint | argIndex,
|  | cl_int * | err = `NULL`
| ) |  | const

inline

template<typename T >

cl_int cl::Kernel::getInfo | ( | cl_kernel_info | name,
|  | T * | param
| ) |  | const

inline

template<cl_int name>

detail::param_traits<detail::cl_kernel_info, name>::param_type cl::Kernel::getInfo | ( | cl_int * | err = `NULL` | ) | const

inline

template<typename T >

cl_int cl::Kernel::getWorkGroupInfo | ( | const Device & | device,
|  | cl_kernel_work_group_info | name,
|  | T * | param
| ) |  | const

inline

template<cl_int name>

detail::param_traits<detail::cl_kernel_work_group_info, name>::param_type cl::Kernel::getWorkGroupInfo | ( | const Device & | device,
|  | cl_int * | err = `NULL`
| ) |  | const

inline

Kernel& cl::Kernel::operator= | ( | const cl_kernel & | rhs | ) |

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.

Kernel& cl::Kernel::operator= | ( | const Kernel & | kernel | ) |

inline

Copy assignment to forward copy to the superclass correctly. Required for MSVC.

Kernel& cl::Kernel::operator= | ( | Kernel && | kernel | ) |

inline

Move assignment to forward move to the superclass correctly. Required for MSVC.

template<typename T , class D >

cl_int cl::Kernel::setArg | ( | cl_uint | index,
|  | const cl::pointer< T, D > & | argPtr
| ) |  |

inline

setArg overload taking a shared_ptr type

template<typename T , class Alloc >

cl_int cl::Kernel::setArg | ( | cl_uint | index,
|  | const cl::vector< T, Alloc > & | argPtr
| ) |  |

inline

setArg overload taking a vector type.

template<typename T >

std::enable_if<std::is_pointer<T>::value, cl_int>::type cl::Kernel::setArg | ( | cl_uint | index,
|  | const T | argPtr
| ) |  |

inline

setArg overload taking a pointer type

template<typename T >

std::enable_if<!std::is_pointer<T>::value, cl_int>::type cl::Kernel::setArg | ( | cl_uint | index,
|  | const T & | value
| ) |  |

inline

setArg overload taking a POD type

cl_int cl::Kernel::setArg | ( | cl_uint | index,
|  | size_type | size,
|  | const void * | argPtr
| ) |  |

inline

cl_int cl::Kernel::setSVMPointers | ( | const vector< void * > & | pointerList | ) |

inline

Specify a vector of SVM pointers that the kernel may access in addition to its arguments.

template<int ArrayLength>

cl_int cl::Kernel::setSVMPointers | ( | const std::array< void *, ArrayLength > & | pointerList | ) |

inline

Specify a std::array of SVM pointers that the kernel may access in addition to its arguments.

template<typename T0 , typename... Ts>

cl_int cl::Kernel::setSVMPointers | ( | const T0 & | t0,
|  | Ts... | ts
| ) |  |

inline

template<int index, int ArrayLength, class D , typename T0 , typename... Ts>

void cl::Kernel::setSVMPointersHelper | ( | std::array< void *, ArrayLength > & | pointerList,
|  | const pointer< T0, D > & | t0,
|  | Ts... | ts
| ) |  |

inline

template<int index, int ArrayLength, typename T0 , typename... Ts>

std::enable_if<std::is_pointer<T0>::value, void>::type cl::Kernel::setSVMPointersHelper | ( | std::array< void *, ArrayLength > & | pointerList,
|  | T0 | t0,
|  | Ts... | ts
| ) |  |

inline

template<int index, int ArrayLength, typename T0 , class D >

void cl::Kernel::setSVMPointersHelper | ( | std::array< void *, ArrayLength > & | pointerList,
|  | const pointer< T0, D > & | t0
| ) |  |

inline

template<int index, int ArrayLength, typename T0 >

std::enable_if<std::is_pointer<T0>::value, void>::type cl::Kernel::setSVMPointersHelper | ( | std::array< void *, ArrayLength > & | pointerList,
|  | T0 | t0
| ) |  |

inline

The documentation for this class was generated from the following file:

- /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/cl2.hpp