24 #ifndef ARM_COMPUTE_NEDIRECTCONVOLUTIONLAYERKERNEL_H 25 #define ARM_COMPUTE_NEDIRECTCONVOLUTIONLAYERKERNEL_H 37 const char *
name()
const override 39 return "NEDirectConvolutionLayerKernel";
91 void convolve_nhwc_optimized(
const Window &window);
95 void convolve_nhwc(
const Window &window);
102 unsigned int _kernel_size;
103 unsigned int _num_weight_elems_read_per_row;
104 unsigned int _num_elems_read_per_iteration;
105 unsigned int _num_elems_written_per_iteration;
const Window & window() const
The maximum window the kernel can be executed on.
Container for 2D border size.
void configure(const ITensor *input, const ITensor *weights, ITensor *output, const PadStrideInfo &conv_info)
Set the input, weights, and output tensors.
const char * name() const override
Name of the kernel.
Common interface for all kernels implemented in C++.
NEDirectConvolutionLayerKernel & operator=(const NEDirectConvolutionLayerKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
Store the tensor's metadata.
void run(const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
Padding and stride information class.
BorderSize border_size() const override
The size of the border for that kernel.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
Information about executing thread and CPU.
NEDirectConvolutionLayerKernel()
Default constructor.
static Status validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *output, const PadStrideInfo &conv_info)
Static function to check if given info will lead to a valid configuration of NEDirectConvolutionLayer...
~NEDirectConvolutionLayerKernel()=default
Default destructor.
Neon interface for Direct Convolution Layer kernel.
Describe a multidimensional execution window.