24 #ifndef ARM_COMPUTE_CLCONVOLUTIONKERNEL_H 25 #define ARM_COMPUTE_CLCONVOLUTIONKERNEL_H 51 template <
unsigned int matrix_size>
52 class CLConvolutionKernel :
public ICLSimple2DKernel
63 void configure(
const ICLTensor *
input, ICLTensor *output,
const int16_t *conv, uint32_t
scale,
bool border_undefined);
73 void configure(
const CLCompileContext &compile_context,
const ICLTensor *
input, ICLTensor *output,
const int16_t *conv, uint32_t
scale,
bool border_undefined);
93 template <
unsigned int matrix_size>
132 template <
unsigned int matrix_size>
ICLSimpleKernel & operator=(const ICLSimpleKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
const Window & window() const
The maximum window the kernel can be executed on.
Kernel for the Horizontal pass of a Separable Convolution.
Container for 2D border size.
void configure(const ICLTensor *input, ICLTensor *output, const int16_t *conv, uint32_t scale, bool border_undefined)
Initialise the kernel's input, output and border mode.
BorderSize border_size() const override
The size of the border for that kernel.
Kernel for the running convolution on a rectangle matrix.
Common interface for all the OpenCL kernels.
Copyright (c) 2017-2021 Arm Limited.
1 channel, 1 S32 per channel
Interface for the kernel to run an arbitrary size convolution on a tensor.
Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output.
Kernel for the Vertical pass of a Separable Convolution.
Interface for OpenCL tensor.
void run(const Window &window, cl::CommandQueue &queue) override
Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue...
DataType
Available data types.
Describe a multidimensional execution window.