aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
diff options
context:
space:
mode:
authorIsabella Gottardi <isabella.gottardi@arm.com>2018-01-30 15:26:00 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:47:18 +0000
commit7567f5f1919f69ea00c2cd5bdca65b67dfe6b388 (patch)
tree990f34d88c00dfeb1c913eb24cc0ee7de4fdc4c3 /arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
parent3cfd237ec976d109989c530f5aa726d1e94963e9 (diff)
downloadComputeLibrary-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/kernels/NEPoolingLayerKernel.h')
-rw-r--r--arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h30
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__ */