Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output.
More...
|
| ICLSimpleKernel () |
| Constructor. More...
|
|
| ICLSimpleKernel (const ICLSimpleKernel &)=delete |
| Prevent instances of this class from being copied (As this class contains pointers) More...
|
|
ICLSimpleKernel & | operator= (const ICLSimpleKernel &)=delete |
| Prevent instances of this class from being copied (As this class contains pointers) More...
|
|
| ICLSimpleKernel (ICLSimpleKernel &&)=default |
| Allow instances of this class to be moved. More...
|
|
ICLSimpleKernel & | operator= (ICLSimpleKernel &&)=default |
| Allow instances of this class to be moved. More...
|
|
| ~ICLSimpleKernel ()=default |
| Default destructor. More...
|
|
void | configure (const ICLTensor *input, ICLTensor *output, unsigned int num_elems_processed_per_iteration, bool border_undefined=false, const BorderSize &border_size=BorderSize()) |
| Configure the kernel. More...
|
|
| ICLKernel () |
| Constructor. More...
|
|
cl::Kernel & | kernel () |
| Returns a reference to the OpenCL kernel of this object. More...
|
|
CLKernelType | type () const |
| Returns the CL kernel type. More...
|
|
template<typename T > |
void | add_1D_array_argument (unsigned int &idx, const ICLArray< T > *array, const Strides &strides, unsigned int num_dimensions, const Window &window) |
| Add the passed 1D array's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | add_1D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | add_1D_tensor_argument_if (bool cond, unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx if the condition is true. More...
|
|
void | add_2D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | add_2D_tensor_argument_if (bool cond, unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx if the condition is true. More...
|
|
void | add_3D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | add_4D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 4D tensor's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | add_5D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
| Add the passed 5D tensor's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | add_3d_tensor_nhw_argument (unsigned int &idx, const ICLTensor *tensor) |
| Add the passed NHW 3D tensor's parameters to the object's kernel's arguments by passing strides, dimensions and the offset to the first valid element in bytes. More...
|
|
void | add_4d_tensor_nhwc_argument (unsigned int &idx, const ICLTensor *tensor) |
| Add the passed NHWC 4D tensor's parameters to the object's kernel's arguments by passing strides, dimensions and the offset to the first valid element in bytes. More...
|
|
virtual void | run (const Window &window, cl::CommandQueue &queue) |
| Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue. More...
|
|
virtual void | run_op (ITensorPack &tensors, const Window &window, cl::CommandQueue &queue) |
| Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue. More...
|
|
template<typename T > |
void | add_argument (unsigned int &idx, T value) |
| Add the passed parameters to the object's kernel's arguments starting from the index idx. More...
|
|
void | set_lws_hint (const cl::NDRange &lws_hint) |
| Set the Local-Workgroup-Size hint. More...
|
|
cl::NDRange | lws_hint () const |
| Return the Local-Workgroup-Size hint. More...
|
|
void | set_wbsm_hint (const cl_int &wbsm_hint) |
| Set the workgroup batch size modifier hint. More...
|
|
cl_int | wbsm_hint () const |
| Return the workgroup batch size modifier hint. More...
|
|
const std::string & | config_id () const |
| Get the configuration ID. More...
|
|
void | set_target (GPUTarget target) |
| Set the targeted GPU architecture. More...
|
|
void | set_target (cl::Device &device) |
| Set the targeted GPU architecture according to the CL device. More...
|
|
GPUTarget | get_target () const |
| Get the targeted GPU architecture. More...
|
|
size_t | get_max_workgroup_size () |
| Get the maximum workgroup size for the device the CLKernelLibrary uses. More...
|
|
cl::NDRange | get_cached_gws () const |
| Get the cached gws used to enqueue this kernel. More...
|
|
void | cache_gws (const cl::NDRange &gws) |
| Cache the latest gws used to enqueue this kernel. More...
|
|
template<unsigned int dimension_size> |
void | add_tensor_argument (unsigned &idx, const ICLTensor *tensor, const Window &window) |
|
template<typename T , unsigned int dimension_size> |
void | add_array_argument (unsigned &idx, const ICLArray< T > *array, const Strides &strides, unsigned int num_dimensions, const Window &window) |
| Add the passed array's parameters to the object's kernel's arguments starting from the index idx. More...
|
|
| IKernel () |
| Constructor. More...
|
|
virtual | ~IKernel ()=default |
| Destructor. More...
|
|
virtual bool | is_parallelisable () const |
| Indicates whether or not the kernel is parallelisable. More...
|
|
virtual BorderSize | border_size () const |
| The size of the border for that kernel. More...
|
|
const Window & | window () const |
| The maximum window the kernel can be executed on. More...
|
|
bool | is_window_configured () const |
| Function to check if the embedded window of this kernel has been configured. More...
|
|
Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output.
Definition at line 35 of file ICLSimpleKernel.h.