From 2ba39b6a9c38d76a15745034671af9a5bbc2032a Mon Sep 17 00:00:00 2001 From: Gian Marco Iodice Date: Fri, 7 May 2021 09:21:47 +0100 Subject: Fix missing DATA_TYPE in DOT_PRODUCT4_INTEGER8 OpenCL macro - DOT_PRODUCT8_INTEGER8 and DOT_PRODUCT16_INTEGER8 are calling DOT_PRODUCT4_INTEGER8 without passing DST_DATA_TYPE Resolves COMPMID-4491 Change-Id: I394bd2f9208489e820885e49ed40e607d6470620 Signed-off-by: Gian Marco Iodice Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5594 Reviewed-by: Georgios Pinitas Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- src/core/CL/cl_kernels/tile_helpers.h | 8 ++-- tests/validation/CL/DirectConvolutionLayer.cpp | 56 +++++++++++++------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/core/CL/cl_kernels/tile_helpers.h b/src/core/CL/cl_kernels/tile_helpers.h index 8b6d5309e3..3d37f0d31f 100644 --- a/src/core/CL/cl_kernels/tile_helpers.h +++ b/src/core/CL/cl_kernels/tile_helpers.h @@ -124,13 +124,13 @@ #endif // defined(ARM_COMPUTE_OPENCL_DOT8_ACC_ENABLED) && defined(cl_arm_integer_dot_product_accumulate_int8) #define DOT_PRODUCT8_INTEGER8(DST_DATA_TYPE, a, b, c) \ ({ \ - DOT_PRODUCT4_INTEGER8((a.lo), (b.lo), c); \ - DOT_PRODUCT4_INTEGER8((a.hi), (b.hi), c); \ + DOT_PRODUCT4_INTEGER8(DST_DATA_TYPE, (a.lo), (b.lo), c); \ + DOT_PRODUCT4_INTEGER8(DST_DATA_TYPE, (a.hi), (b.hi), c); \ }) #define DOT_PRODUCT16_INTEGER8(DST_DATA_TYPE, a, b, c) \ ({ \ - DOT_PRODUCT8_INTEGER8((a.lo), (b.lo), c); \ - DOT_PRODUCT8_INTEGER8((a.hi), (b.hi), c); \ + DOT_PRODUCT8_INTEGER8(DST_DATA_TYPE, (a.lo), (b.lo), c); \ + DOT_PRODUCT8_INTEGER8(DST_DATA_TYPE, (a.hi), (b.hi), c); \ }) /** Load a vector from global memory (tensor) diff --git a/tests/validation/CL/DirectConvolutionLayer.cpp b/tests/validation/CL/DirectConvolutionLayer.cpp index 946de7f943..a057f48c87 100644 --- a/tests/validation/CL/DirectConvolutionLayer.cpp +++ b/tests/validation/CL/DirectConvolutionLayer.cpp @@ -221,10 +221,10 @@ TEST_SUITE(NHWC) TEST_SUITE(FP16) FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1, 3, 1, 1 })), framework::dataset::make("StrideY", { 1, 3, 2, 1 })), framework::dataset::make("PadX", { 1, 3, 0, 4 })), @@ -259,10 +259,10 @@ TEST_SUITE_END() // FP16 TEST_SUITE(FP32) FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1, 3, 1, 1 })), framework::dataset::make("StrideY", { 1, 3, 2, 1 })), framework::dataset::make("PadX", { 1, 3, 0, 4 })), @@ -277,10 +277,10 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerFixture, framewo } FIXTURE_DATA_TEST_CASE(RunMixedDataLayout, CLDirectConvolutionLayerMixedDataLayoutFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1 })), framework::dataset::make("StrideY", { 2 })), framework::dataset::make("PadX", { 1 })), @@ -314,10 +314,10 @@ TEST_SUITE(Quantized) TEST_SUITE(QASYMM8) FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerQuantizedFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1, 3, 1, 1 })), framework::dataset::make("StrideY", { 1, 3, 2, 1 })), framework::dataset::make("PadX", { 1, 3, 0, 4 })), @@ -333,10 +333,10 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerQuantizedFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1 })), framework::dataset::make("StrideY", { 2 })), framework::dataset::make("PadX", { 1 })), @@ -371,10 +371,10 @@ TEST_SUITE_END() // QASYMM8 TEST_SUITE(QASYMM8_SIGNED) FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerQuantizedFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1, 3, 1, 1 })), framework::dataset::make("StrideY", { 1, 3, 2, 1 })), framework::dataset::make("PadX", { 1, 3, 0, 4 })), @@ -390,10 +390,10 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLDirectConvolutionLayerQuantizedFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(zip(zip(zip(zip(zip(zip( - framework::dataset::make("InputShape", { TensorShape(27U, 13U, 2U), - TensorShape(9U, 5U, 6U, 4U), - TensorShape(3U, 5U, 7U, 2U), - TensorShape(32U, 37U, 3U) } ), + framework::dataset::make("InputShape", { TensorShape(27U, 13U, 23U), + TensorShape(19U, 5U, 16U, 4U), + TensorShape(13U, 5U, 17U, 2U), + TensorShape(32U, 37U, 13U) } ), framework::dataset::make("StrideX", { 1 })), framework::dataset::make("StrideY", { 1 })), framework::dataset::make("PadX", { 1 })), -- cgit v1.2.1