aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/NEON
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2020-04-30 12:02:20 +0100
committerMichele Di Giorgio <michele.digiorgio@arm.com>2020-05-01 13:36:24 +0000
commit81870c05533cba03373d5e51fed95cd5e74f741d (patch)
tree2eaf6233f39a01fe69656d7714bcbb575cdd5021 /tests/validation/NEON
parentc6aef871851691eb726e53f621d51545715896e3 (diff)
downloadComputeLibrary-81870c05533cba03373d5e51fed95cd5e74f741d.tar.gz
IVGCVSW-4743: Fix CpuAcc Hal 1.3 Comparison Failures
Broadcast for QASYMM8_SIGNED was not handled. Change-Id: Id5dbb0dce78838319218de94551bba52d697f4a4 Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3131 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/NEON')
-rw-r--r--tests/validation/NEON/Comparisons.cpp37
1 files changed, 17 insertions, 20 deletions
diff --git a/tests/validation/NEON/Comparisons.cpp b/tests/validation/NEON/Comparisons.cpp
index 38e440e649..f080c834e5 100644
--- a/tests/validation/NEON/Comparisons.cpp
+++ b/tests/validation/NEON/Comparisons.cpp
@@ -52,8 +52,9 @@ const auto configure_dataset = combine(datasets::SmallShapes(),
DataType::F32
}));
-const auto run_small_dataset = combine(datasets::ComparisonOperations(), datasets::SmallShapes());
-const auto run_large_dataset = combine(datasets::ComparisonOperations(), datasets::LargeShapes());
+const auto run_small_dataset = combine(datasets::ComparisonOperations(), datasets::SmallShapes());
+const auto run_small_broadcast_dataset = combine(datasets::ComparisonOperations(), datasets::SmallShapesBroadcast());
+const auto run_large_dataset = combine(datasets::ComparisonOperations(), datasets::LargeShapes());
} // namespace
@@ -90,23 +91,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, configure_dataset,
- shape, data_type)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, data_type);
- Tensor ref_src2 = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, DataType::U8);
-
- // Create and Configure function
- NEElementwiseComparison compare;
- compare.configure(&ref_src1, &ref_src2, &dst, ComparisonOperation::Equal);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEComparisonFixture = ComparisonValidationFixture<Tensor, Accessor, NEElementwiseComparison, T>;
@@ -154,6 +138,8 @@ TEST_SUITE_END() // Float
template <typename T>
using NEComparisonQuantizedFixture = ComparisonValidationQuantizedFixture<Tensor, Accessor, NEElementwiseComparison, T>;
+template <typename T>
+using NEComparisonQuantizedBroadcastFixture = ComparisonQuantizedBroadcastValidationFixture<Tensor, Accessor, NEElementwiseComparison, T>;
TEST_SUITE(Quantized)
TEST_SUITE(QASYMM8)
@@ -169,11 +155,22 @@ FIXTURE_DATA_TEST_CASE(RunSmall,
}
TEST_SUITE_END()
TEST_SUITE(QASYMM8_SIGNED)
+FIXTURE_DATA_TEST_CASE(RunSmallBroadcast,
+ NEComparisonQuantizedBroadcastFixture<int8_t>,
+ framework::DatasetMode::ALL,
+ combine(combine(combine(run_small_broadcast_dataset, framework::dataset::make("DataType", DataType::QASYMM8_SIGNED)),
+ framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.1, -30) })),
+ framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.3f, 2) })))
+{
+ // Validate output
+ validate(Accessor(_target), _reference);
+}
+
FIXTURE_DATA_TEST_CASE(RunSmall,
NEComparisonQuantizedFixture<int8_t>,
framework::DatasetMode::PRECOMMIT,
combine(combine(combine(run_small_dataset, framework::dataset::make("DataType", DataType::QASYMM8_SIGNED)),
- framework::dataset::make("QuantizationInfo", { QuantizationInfo() })),
+ framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.1, -30) })),
framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.3f, 2) })))
{
// Validate output