From 7567f5f1919f69ea00c2cd5bdca65b67dfe6b388 Mon Sep 17 00:00:00 2001 From: Isabella Gottardi Date: Tue, 30 Jan 2018 15:26:00 +0000 Subject: COMPMID-828 - Add support for pool widths 4, 5 & 6 and for non square data sizes - Part 2 (NEON) Change-Id: I64bc8e3f71236edb71494f431ee34077eb8814ca Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/118203 Tested-by: Jenkins Reviewed-by: Anthony Barbier --- .../core/NEON/kernels/NEPoolingLayerKernel.h | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h') diff --git a/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h b/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h index 0b17b76a2c..8250342b53 100644 --- a/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h +++ b/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h @@ -153,20 +153,41 @@ private: */ template void pooling7_f32(const Window &window_input, const Window &window); - /** Function to perform NxN pooling. + /** Function to perform MxN pooling for 8bit fixed point. + * + * @param[in] window_input Input region on which to execute the kernel. + * @param[in] window Output region on which to execute the kernel. + */ + template + void poolingMxN_q8(const Window &window_input, const Window &window); + /** Function to perform MxN pooling for 8-bit quantized. + * + * @param[in] window_input Input region on which to execute the kernel. + * @param[in] window Output region on which to execute the kernel. + */ + template + void poolingMxN_qasymm8(const Window &window_input, const Window &window); + /** Function to perform MxN pooling for 16bit fixed point. + * + * @param[in] window_input Input region on which to execute the kernel. + * @param[in] window Output region on which to execute the kernel. + */ + template + void poolingMxN_q16(const Window &window_input, const Window &window); + /** Function to perform MxN pooling for 16-bit floating point values. * * @param[in] window_input Input region on which to execute the kernel. * @param[in] window Output region on which to execute the kernel. */ template - void poolingN_qasymm8(const Window &window_input, const Window &window); - /** Function to perform NxN pooling. + void poolingMxN_f16(const Window &window_input, const Window &window); + /** Function to perform MxN pooling for 32-bit floating point values. * * @param[in] window_input Input region on which to execute the kernel. * @param[in] window Output region on which to execute the kernel. */ template - void poolingN_f32(const Window &window_input, const Window &window); + void poolingMxN_f32(const Window &window_input, const Window &window); /** Common signature for all the specialised Pooling functions * * @param[in] window_input Input region on which to execute the kernel. @@ -181,6 +202,7 @@ private: PoolingLayerInfo _pool_info; unsigned int _num_elems_processed_per_iteration; BorderSize _border_size; + bool _is_square; }; } // namespace arm_compute #endif /*__ARM_COMPUTE_NEPOOLINGLAYERKERNEL_H__ */ -- cgit v1.2.1