diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2018-08-23 17:26:21 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | fbf3ecc1833b860019f965c88cda87ec9f44c3d5 (patch) | |
tree | a839e4c12b27346731c1dfd9a58e6eec343e5569 /tests/validation/NEON/GEMM.cpp | |
parent | 1fa17c2edc51e53c6bd388b332d825208f6562e8 (diff) | |
download | ComputeLibrary-fbf3ecc1833b860019f965c88cda87ec9f44c3d5.tar.gz |
COMPMID-1534 - Fix GEMM and Magnitude test for FP16
On GEMM we had accuracy issue
On Magnitude we have disabled the fp16 acceleration since we do not have feature parity with CL
and this function is not used for ML
Change-Id: Iaebe3bbbd2a9f45db0c714aa5ebaf48eb0b65741
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145467
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'tests/validation/NEON/GEMM.cpp')
-rw-r--r-- | tests/validation/NEON/GEMM.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/validation/NEON/GEMM.cpp b/tests/validation/NEON/GEMM.cpp index 9c64131a61..ded5ec68c4 100644 --- a/tests/validation/NEON/GEMM.cpp +++ b/tests/validation/NEON/GEMM.cpp @@ -49,8 +49,12 @@ namespace validation { namespace { -constexpr AbsoluteTolerance<float> tolerance_f(0.001f); /**< Tolerance value for comparing reference's output against implementation's output for floating point data types */ - +constexpr AbsoluteTolerance<float> tolerance_f(0.001f); /**< Tolerance value for comparing reference's output against implementation's output for FP32 data types */ +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC +RelativeTolerance<half_float::half> rel_tolerance_f16(half(0.2)); /**< Relative tolerance value for comparing reference's output against implementation's output for FP16 data types */ +const AbsoluteTolerance<float> abs_tolerance_f16(0.2f); /**< Absolute tolerance value for comparing reference's output against implementation's output for FP16 data types */ +constexpr float tolerance_num = 0.07f; /**< Tolerance number for FP16 data types */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ /** CNN data types */ const auto CNNDataTypes = framework::dataset::make("DataType", { @@ -125,13 +129,13 @@ TEST_SUITE(FP16) FIXTURE_DATA_TEST_CASE(RunSmall, NEGEMMFixture<half>, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallGEMMDataset(), framework::dataset::make("DataType", DataType::F16))) { // Validate output - validate(Accessor(_target), _reference, tolerance_f); + validate(Accessor(_target), _reference, rel_tolerance_f16, tolerance_num, abs_tolerance_f16); } FIXTURE_DATA_TEST_CASE(RunLarge, NEGEMMFixture<half>, framework::DatasetMode::NIGHTLY, combine(datasets::LargeGEMMDataset(), framework::dataset::make("DataType", DataType::F16))) { // Validate output - validate(Accessor(_target), _reference, tolerance_f); + validate(Accessor(_target), _reference, rel_tolerance_f16, tolerance_num, abs_tolerance_f16); } TEST_SUITE_END() #endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ |