From 327225d3b2f716d5c62d801a7fafc7d377521f34 Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Tue, 13 Apr 2021 13:09:30 +0100 Subject: Port NEDirectConvolutionLayer to new API Partially resolves: COMPMID-4009 Change-Id: I19ffb61c5c4541134a5028677d2d81228740e454 Signed-off-by: Manuel Bottini Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5419 Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Reviewed-by: SiCong Li Reviewed-by: Georgios Pinitas Reviewed-by: Michele Di Giorgio --- .../NEON/functions/NEDirectConvolutionLayer.h | 29 ++++++---------------- 1 file changed, 8 insertions(+), 21 deletions(-) (limited to 'arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h') diff --git a/arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h b/arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h index 86914fa0bc..fc4017e635 100644 --- a/arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h +++ b/arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h @@ -28,24 +28,18 @@ #include "arm_compute/runtime/IFunction.h" #include "arm_compute/runtime/IMemoryManager.h" #include "arm_compute/runtime/MemoryGroup.h" -#include "arm_compute/runtime/NEON/functions/NEActivationLayer.h" -#include "arm_compute/runtime/Tensor.h" #include namespace arm_compute { -class NEDirectConvolutionLayerOutputStageKernel; -class NEDirectConvolutionLayerKernel; -class NEFillBorderKernel; - +class ITensor; +class ITensorInfo; /** Function to run the direct convolution. * - * This function calls the following kernels: + * This function calls the following: * - * -# @ref NEFillBorderKernel for the input - * -# @ref NEDirectConvolutionLayerOutputStageKernel - * -# @ref NEDirectConvolutionLayerKernel + * -# @ref cpu::CpuDirectConvolution */ class NEDirectConvolutionLayer : public IFunction { @@ -108,16 +102,9 @@ public: void run() override; private: - MemoryGroup _memory_group; - std::unique_ptr _output_stage_kernel; - std::unique_ptr _conv_kernel; - std::unique_ptr _input_border_handler; - NEActivationLayer _activationlayer_function; - Tensor _accumulator; - bool _has_bias; - bool _is_activationlayer_enabled; - unsigned int _dim_split; - bool _is_padding_required; + struct Impl; + std::shared_ptr _memory_manager; + std::unique_ptr _impl; }; -} +} // namespace arm_compute #endif /* ARM_COMPUTE_NEDIRECTCONVOLUTIONLAYER_H */ -- cgit v1.2.1