24 #ifndef ARM_COMPUTE_NECONVOLUTION_H 25 #define ARM_COMPUTE_NECONVOLUTION_H 40 class NEFillBorderKernel;
41 template <
unsigned int matrix_size>
43 template <
unsigned int matrix_size>
45 template <
unsigned int matrix_size>
92 template <
unsigned int matrix_size>
126 std::unique_ptr<NESeparableConvolutionHorKernel<matrix_size>> _kernel_hor;
127 std::unique_ptr<NESeparableConvolutionVertKernel<matrix_size>> _kernel_vert;
128 std::unique_ptr<NEConvolutionKernel<matrix_size>> _kernel;
129 std::unique_ptr<NEFillBorderKernel> _border_handler;
BorderMode
Methods available to handle borders.
NEConvolution3x3()=default
Constructor.
Kernel for the Vertical pass of a Separable Convolution.
Interface for the kernel to run an arbitrary size convolution on a tensor.
Base class for all functions.
void run() override final
Run the kernels contained in the function.
~NEConvolution3x3()
Default destructor.
Kernel for the Horizontal pass of a Separable Convolution.
NEConvolution3x3 & operator=(const NEConvolution3x3 &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
Interface for Neon tensor.
Basic function to execute non-square convolution.
Copyright (c) 2017-2021 Arm Limited.
Basic function to execute convolution of size 5x5, 7x7, 9x9.
Basic function to execute convolution of size 3x3.
Basic implementation of the tensor interface.
void configure(ITensor *input, ITensor *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 interface for functions which have a single Neon kernel.