diff options
author | Michele Di Giorgio <michele.digiorgio@arm.com> | 2021-02-03 16:05:00 +0000 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2021-02-08 09:46:35 +0000 |
commit | 1928904316e80ba0549b94ae1f905d7e79bda812 (patch) | |
tree | ac44d4118f2beb6c6b454995abaeb76228ab54ab /arm_compute/runtime/NEON/functions | |
parent | dda6914c6e923187c2ca2c3bfd71677e9c9e5c68 (diff) | |
download | ComputeLibrary-1928904316e80ba0549b94ae1f905d7e79bda812.tar.gz |
Make NEON Pooling kernels and functions state-less
Partially resolves COMPMID-3999
Change-Id: Ib39d40694df5c5f0a9401488e0c3af3ac26e8c55
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4984
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime/NEON/functions')
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEPoolingLayer.h | 18 |
1 files changed, 5 insertions, 13 deletions
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<IMemoryManager> _memory_manager; - - std::unique_ptr<NEPoolingLayerKernel> _pooling_layer_kernel; - std::unique_ptr<NEFillBorderKernel> _border_handler; - std::unique_ptr<NEPoolingAssemblyDispatch> _asm_glue; - - bool _is_global_pooling_layer; - DataLayout _data_layout; + struct Impl; + std::unique_ptr<Impl> _impl; }; } #endif /* ARM_COMPUTE_NEPOOLINGLAYER_H */ |