From 1928904316e80ba0549b94ae1f905d7e79bda812 Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Wed, 3 Feb 2021 16:05:00 +0000 Subject: Make NEON Pooling kernels and functions state-less Partially resolves COMPMID-3999 Change-Id: Ib39d40694df5c5f0a9401488e0c3af3ac26e8c55 Signed-off-by: Michele Di Giorgio Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4984 Tested-by: Arm Jenkins Reviewed-by: Georgios Pinitas Comments-Addressed: Arm Jenkins --- arm_compute/runtime/NEON/functions/NEPoolingLayer.h | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'arm_compute/runtime/NEON/functions/NEPoolingLayer.h') diff --git a/arm_compute/runtime/NEON/functions/NEPoolingLayer.h b/arm_compute/runtime/NEON/functions/NEPoolingLayer.h index d239138165..91b3a709f4 100644 --- a/arm_compute/runtime/NEON/functions/NEPoolingLayer.h +++ b/arm_compute/runtime/NEON/functions/NEPoolingLayer.h @@ -32,17 +32,15 @@ namespace arm_compute { +// Forward declarations class ITensor; class ITensorInfo; -class NEPoolingLayerKernel; -class NEFillBorderKernel; -class NEPoolingAssemblyDispatch; /** Basic function to simulate a pooling layer with the specified pooling operation. This function calls the following NEON kernels: * * -# @ref NEFillBorderKernel (executed if padding size is different from zero) - * -# @ref NEPoolingLayerKernel - * -# @ref NEPoolingAssemblyDispatch + * -# @ref cpu::kernels::CpuPoolingKernel + * -# @ref cpu::CpuPoolingAssemblyDispatch */ class NEPoolingLayer : public IFunction { @@ -86,14 +84,8 @@ public: void run() override; private: - std::shared_ptr _memory_manager; - - std::unique_ptr _pooling_layer_kernel; - std::unique_ptr _border_handler; - std::unique_ptr _asm_glue; - - bool _is_global_pooling_layer; - DataLayout _data_layout; + struct Impl; + std::unique_ptr _impl; }; } #endif /* ARM_COMPUTE_NEPOOLINGLAYER_H */ -- cgit v1.2.1