diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2018-04-27 10:39:06 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:50:48 +0000 |
commit | 2213d4b334567d0cb7f283090d42b5fb1b70f66b (patch) | |
tree | 84882854c84af8e184c44a27932ba0c2576ae641 /tests/validation/CL/Winograd.cpp | |
parent | ebf14a51104205b46c659e042b3077307568c8f6 (diff) | |
download | ComputeLibrary-2213d4b334567d0cb7f283090d42b5fb1b70f66b.tar.gz |
COMPMID-1096 - Add fast_math flag to CLConvolutionLayer
COMPMID-1103 - CLWinogradConvolutionLayer mismatches
Change-Id: Iceaa9482a1790ec39d2720c220261aaea8043978
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129398
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'tests/validation/CL/Winograd.cpp')
-rw-r--r-- | tests/validation/CL/Winograd.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/validation/CL/Winograd.cpp b/tests/validation/CL/Winograd.cpp index 30d8d751af..d892c9f77f 100644 --- a/tests/validation/CL/Winograd.cpp +++ b/tests/validation/CL/Winograd.cpp @@ -51,7 +51,8 @@ namespace validation { namespace { -constexpr AbsoluteTolerance<float> tolerance_f32(0.001f); +constexpr AbsoluteTolerance<float> tolerance_f32(0.0001f); +constexpr AbsoluteTolerance<float> tolerance_fast_math_f32(0.1f); } // namespace using namespace arm_compute::misc::shape_calculator; @@ -379,6 +380,27 @@ FIXTURE_DATA_TEST_CASE(RunLarge, CLWinogradConvolutionLayerFixture, framework::D // Validate output validate(CLAccessor(_target), _reference, tolerance_f32); } +TEST_SUITE(EnableFastMath) +using CLWinogradConvolutionLayerFastMathFixture = WinogradConvolutionLayerFastMathValidationFixture<CLTensor, CLAccessor, CLWinogradConvolutionLayer, float>; +FIXTURE_DATA_TEST_CASE(RunSmall, CLWinogradConvolutionLayerFastMathFixture, framework::DatasetMode::PRECOMMIT, + combine(combine(framework::dataset::concat(datasets::SmallWinogradConvolutionLayer3x3Dataset(), datasets::SmallWinogradConvolutionLayer5x5Dataset()), + framework::dataset::make("DataType", { DataType::F32 })), + framework::dataset::make("ActivationLayerInfo", { ActivationLayerInfo() }))) +{ + // Validate output + validate(CLAccessor(_target), _reference, tolerance_fast_math_f32); +} + +FIXTURE_DATA_TEST_CASE(RunLarge, CLWinogradConvolutionLayerFastMathFixture, framework::DatasetMode::NIGHTLY, + combine(combine(framework::dataset::concat(datasets::LargeWinogradConvolutionLayer3x3Dataset(), datasets::LargeWinogradConvolutionLayer5x5Dataset()), + framework::dataset::make("DataType", { DataType::F32 })), + framework::dataset::make("ActivationLayerInfo", { ActivationLayerInfo() }))) +{ + // Validate output + validate(CLAccessor(_target), _reference, tolerance_fast_math_f32); +} + +TEST_SUITE_END() // EnableFastMath TEST_SUITE_END() // ConvolutionLayer TEST_SUITE_END() // Winograd |