aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/CL/GEMM.cpp
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2018-02-26 15:22:16 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:48:12 +0000
commitff6c260a65a1341e96e5cbf60dc492172530002f (patch)
tree5474cebfbdca3dfa3d9904193f3a804009c7d477 /tests/validation/CL/GEMM.cpp
parent88627fbe2502018f6a93fcfc686b5a7f2d54a2a9 (diff)
downloadComputeLibrary-ff6c260a65a1341e96e5cbf60dc492172530002f.tar.gz
COMPMID-945: Fix GEMM CL FP32 mismatch - V2
The approach used in e415fc13 was not correct. Switch to allowing to use an absolute tolerance if the relative tolerance comparison fails. Change-Id: I8d94d2f8edd3e0eb7388d3d8ac3ebfc37790e267 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/122269 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/CL/GEMM.cpp')
-rw-r--r--tests/validation/CL/GEMM.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/validation/CL/GEMM.cpp b/tests/validation/CL/GEMM.cpp
index 6539090fcf..217edf4438 100644
--- a/tests/validation/CL/GEMM.cpp
+++ b/tests/validation/CL/GEMM.cpp
@@ -49,7 +49,9 @@ namespace validation
{
namespace
{
-RelativeTolerance<float> tolerance_f32(0.001f); /**< Tolerance value for comparing reference's output against implementation's output for floating point data types */
+RelativeTolerance<float> tolerance_f32(0.001f); /**< Tolerance value for comparing reference's output against implementation's output for floating point data types */
+constexpr float abs_tolerance_f32(
+ 0.0001f); /**< Absolute tolerance value for comparing reference's output against implementation's output for floating point data types in case using relative tolerance fails because of small values */
RelativeTolerance<half_float::half> tolerance_f16(half(0.2)); /**< Tolerance value for comparing reference's output against implementation's output for floating point data types */
constexpr AbsoluteTolerance<float> tolerance_q(1.0f); /**< Tolerance value for comparing reference's output against implementation's output for fixed point data types */
constexpr float tolerance_num = 0.02f; /**< Tolerance number */
@@ -200,7 +202,7 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMFixture<float>, framework::DatasetMode::P
FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMFixture<float>, framework::DatasetMode::NIGHTLY, combine(datasets::LargeGEMMDataset(), framework::dataset::make("DataType", DataType::F32)))
{
// Validate output
- validate(CLAccessor(_target), _reference, tolerance_f32);
+ validate(CLAccessor(_target), _reference, tolerance_f32, 0.f, abs_tolerance_f32);
}
TEST_SUITE_END()
TEST_SUITE_END()