aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/NEON/functions/NEPoolingLayer.h
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2021-02-03 16:05:00 +0000
committerMichele Di Giorgio <michele.digiorgio@arm.com>2021-02-08 09:46:35 +0000
commit1928904316e80ba0549b94ae1f905d7e79bda812 (patch)
treeac44d4118f2beb6c6b454995abaeb76228ab54ab /arm_compute/runtime/NEON/functions/NEPoolingLayer.h
parentdda6914c6e923187c2ca2c3bfd71677e9c9e5c68 (diff)
downloadComputeLibrary-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/NEPoolingLayer.h')
-rw-r--r--arm_compute/runtime/NEON/functions/NEPoolingLayer.h18
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 */