From a331e48ad8a4856837cf0afdd44de69af43581af Mon Sep 17 00:00:00 2001 From: Jonathan Deakin Date: Mon, 22 Aug 2022 13:32:37 +0100 Subject: Fix add for tensors with non-matching strides Previously, the add_as_1d_array kernels were used on tensors with non-matching strides which caused the wrong elements to be added. The fix is to check that the strides are equal when selecting the addition kernel. Change-Id: I914ca2b95e5b8ed1875ec5ebe129bdfe2845496b Signed-off-by: Jonathan Deakin Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8120 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Gunes Bayir Benchmark: Arm Jenkins --- src/cpu/kernels/CpuAddKernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/cpu') diff --git a/src/cpu/kernels/CpuAddKernel.cpp b/src/cpu/kernels/CpuAddKernel.cpp index 85ae410a94..8fc82ec184 100644 --- a/src/cpu/kernels/CpuAddKernel.cpp +++ b/src/cpu/kernels/CpuAddKernel.cpp @@ -41,7 +41,7 @@ namespace kernels { bool can_interpret_inputs_as_1d_array(const ITensorInfo &src0, const ITensorInfo &src1) { - return !src0.has_padding() && !src1.has_padding() && src0.tensor_shape() == src1.tensor_shape(); + return !src0.has_padding() && !src1.has_padding() && src0.tensor_shape() == src1.tensor_shape() && src0.strides_in_bytes() == src1.strides_in_bytes(); } namespace -- cgit v1.2.1