diff options
author | Isabella Gottardi <isabella.gottardi@arm.com> | 2018-01-30 15:26:00 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:47:18 +0000 |
commit | 7567f5f1919f69ea00c2cd5bdca65b67dfe6b388 (patch) | |
tree | 990f34d88c00dfeb1c913eb24cc0ee7de4fdc4c3 /arm_compute/core/NEON | |
parent | 3cfd237ec976d109989c530f5aa726d1e94963e9 (diff) | |
download | ComputeLibrary-7567f5f1919f69ea00c2cd5bdca65b67dfe6b388.tar.gz |
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 <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/core/NEON')
-rw-r--r-- | arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h | 30 |
1 files changed, 26 insertions, 4 deletions
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 <PoolingType pooling_type, bool exclude_padding = false> 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 <PoolingType pooling_type> + 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 <PoolingType pooling_type, bool exclude_padding = false> + 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 <PoolingType pooling_type> + 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 <PoolingType pooling_type, bool exclude_padding = false> - 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 <PoolingType pooling_type, bool exclude_padding = false> - 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__ */ |