aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSheri Zhang <sheri.zhang@arm.com>2020-08-10 12:02:59 +0100
committerSheri Zhang <sheri.zhang@arm.com>2020-08-10 16:10:27 +0000
commit996c777eea8acb8ce816552e77050dbf388f62be (patch)
tree0c7134f56f773bba4df185ba5e1b393d2a8d5bf4
parent4aed4aafa2ddb0b6f4b76aef5008c8bb45599ea4 (diff)
downloadComputeLibrary-996c777eea8acb8ce816552e77050dbf388f62be.tar.gz
COMPMID-3700: ArmNN OOB test failure
Fix ArmNN compiling issue through removing defulat template value for offset_no_padding() and pooling2_nchw_maxpool_indices(). Signed-off-by: Sheri Zhang <sheri.zhang@arm.com> Change-Id: Ie7114d102b8533e757b8e841afcac1adfbcb3b54 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3697 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Marquez <pablo.tello@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r--src/core/NEON/kernels/NEPoolingLayerKernel.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/NEON/kernels/NEPoolingLayerKernel.cpp b/src/core/NEON/kernels/NEPoolingLayerKernel.cpp
index 2bbc307d19..efd0affee9 100644
--- a/src/core/NEON/kernels/NEPoolingLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEPoolingLayerKernel.cpp
@@ -725,7 +725,7 @@ void NEPoolingLayerKernel::configure(const ITensor *input, ITensor *output, cons
INEKernel::configure(win_config.second);
}
-template <typename T = float>
+template <typename T>
inline uint32_t offset_no_padding(uint32_t padded_offset, const Coordinates &id, const ITensorInfo &info, int pool_stride_x, int pool_stride_y)
{
const int pad_left = info.padding().left;
@@ -975,7 +975,7 @@ f16_to_f32(float32x2_t input)
return input;
}
-template <typename T = float>
+template <typename T>
void NEPoolingLayerKernel::pooling2_nchw_maxpool_indices(const Window &window_input, const Window &window)
{
Iterator input(_input, window_input);
@@ -2043,7 +2043,7 @@ void NEPoolingLayerKernel::pooling2_f32_nhwc_maxpool_indices(const Window &windo
// Store result
vst1q_f32(reinterpret_cast<float *>(output.ptr()), vres);
- const uint32_t offset_base = offset_no_padding(input.offset(), id, *_input->info(), pool_stride_x, pool_stride_y);
+ const uint32_t offset_base = offset_no_padding<float>(input.offset(), id, *_input->info(), pool_stride_x, pool_stride_y);
const uint32_t offset_x0 = (uint32_t)offset_base / sizeof(float);
const uint32_t offset_x1 = (uint32_t)offset_x0 + in_stride_y / sizeof(float) - pad_right;
const uint32_t offset_x2 = (uint32_t)offset_x0 + in_stride_z / sizeof(float) - pad_right * _input->info()->tensor_shape()[1];