24 #ifndef ARM_COMPUTE_CLCONVOLUTION_H 25 #define ARM_COMPUTE_CLCONVOLUTION_H 39 template <
unsigned int matrix_size>
41 template <
unsigned int matrix_size>
43 template <
unsigned int matrix_size>
91 template <
unsigned int matrix_size>
136 std::unique_ptr<CLSeparableConvolutionHorKernel<matrix_size>> _kernel_hor;
137 std::unique_ptr<CLSeparableConvolutionVertKernel<matrix_size>> _kernel_vert;
138 std::unique_ptr<CLConvolutionKernel<matrix_size>> _kernel;
139 std::unique_ptr<CLFillBorderKernel> _border_handler;
187 uint8_t constant_border_value = 0);
BorderMode
Methods available to handle borders.
Basic function to execute convolution of size 3x3.
Base class for all functions.
Kernel for the Horizontal pass of a Separable Convolution.
Copyright (c) 2017-2021 Arm Limited.
Basic function to execute non-square convolution.
void run() override final
Run the kernels contained in the function.
Basic interface for functions which have a single OpenCL kernel.
Interface for the kernel to run an arbitrary size convolution on a tensor.
Kernel for the Vertical pass of a Separable Convolution.
ICLSimpleFunction & operator=(const ICLSimpleFunction &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
Basic function to execute square convolution.Currently it supports 5x5, 7x7, 9x9. ...
Interface for filling the border of a kernel.
Interface for OpenCL tensor.
void configure(ICLTensor *input, ICLTensor *output, const int16_t *conv, uint32_t scale, BorderMode border_mode, uint8_t constant_border_value=0)
Initialize the function's source, destination, conv and border_mode.
Basic implementation of the OpenCL tensor interface.