diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2021-04-13 13:09:30 +0100 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2021-04-14 14:21:50 +0000 |
commit | 327225d3b2f716d5c62d801a7fafc7d377521f34 (patch) | |
tree | c19125b74a5ddf9a63e165cbffa7a85b01c7aff1 /arm_compute/runtime/NEON/functions | |
parent | 21c28957f9c6fe1a28ef934e711bb7474b8d65ee (diff) | |
download | ComputeLibrary-327225d3b2f716d5c62d801a7fafc7d377521f34.tar.gz |
Port NEDirectConvolutionLayer to new API
Partially resolves: COMPMID-4009
Change-Id: I19ffb61c5c4541134a5028677d2d81228740e454
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5419
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'arm_compute/runtime/NEON/functions')
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h | 29 |
1 files changed, 8 insertions, 21 deletions
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 <memory> 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<NEDirectConvolutionLayerOutputStageKernel> _output_stage_kernel; - std::unique_ptr<NEDirectConvolutionLayerKernel> _conv_kernel; - std::unique_ptr<NEFillBorderKernel> _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<IMemoryManager> _memory_manager; + std::unique_ptr<Impl> _impl; }; -} +} // namespace arm_compute #endif /* ARM_COMPUTE_NEDIRECTCONVOLUTIONLAYER_H */ |