24 #ifndef ARM_COMPUTE_IGCKERNEL_H 25 #define ARM_COMPUTE_IGCKERNEL_H 96 virtual void run(
const Window &window) = 0;
106 _lws_hint = lws_hint;
135 template <
unsigned int dimension_size>
136 void add_tensor_argument(
unsigned int &idx,
const IGCTensor *tensor,
const unsigned int binding_point,
const Window &window);
142 template <
unsigned int dimension_size>
143 unsigned int num_arguments_per_tensor()
const;
Common information for all the kernels.
virtual void run(const Window &window)=0
Enqueue the OpenGL ES shader to process the given window.
const Window & window() const
The maximum window the kernel can be executed on.
unsigned int num_arguments_per_2D_tensor() const
Returns the number of arguments enqueued per 2D tensor object.
void add_3D_tensor_argument(unsigned int &idx, const IGCTensor *tensor, const unsigned int binding_point, const Window &window)
Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx...
void enqueue(IGCKernel &kernel, const Window &window, const gles::NDRange &lws=gles::NDRange(1U, 1U, 1U))
Add the kernel to the command queue with the given window.
Interface for GLES Compute tensor.
unsigned int num_arguments_per_1D_tensor() const
Returns the number of arguments enqueued per 1D tensor object.
unsigned int num_arguments_per_3D_tensor() const
Returns the number of arguments enqueued per 3D tensor object.
GCKernel & kernel()
Returns a reference to the GLES kernel of this object.
Copyright (c) 2017-2021 Arm Limited.
void set_target(GPUTarget target)
Set the targeted GPU architecture.
void set_lws_hint(gles::NDRange &lws_hint)
Set the Local-Workgroup-Size hint.
Manages all the GLES kernels compilation and caching, provides accessors for the GLES Context...
void add_2D_tensor_argument(unsigned int &idx, const IGCTensor *tensor, const unsigned int binding_point, const Window &window)
Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx...
Wrapper to configure the Khronos EGL and OpenGL ES C header.
GPUTarget
Available GPU Targets.
Common interface for all the GLES kernels.
Class interface for specifying NDRange values.
GPUTarget get_target() const
Get the targeted GPU architecture.
Describe a multidimensional execution window.
void add_1D_tensor_argument(unsigned int &idx, const IGCTensor *tensor, const unsigned int binding_point, const Window &window)
Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx...