diff options
author | Kevin May <kevin.may@arm.com> | 2019-05-22 12:02:53 +0100 |
---|---|---|
committer | Kevin May <kevin.may@arm.com> | 2019-05-23 16:22:21 +0100 |
commit | edc5ffa62ab7c552539956eba8bb1d56fb48057c (patch) | |
tree | 553ae127123aa59ebc2823db91e6b7639edee6fa /test/Convolution2D.hpp | |
parent | c6494ccc24d5db72e1a6afc0f71c18b5016027e8 (diff) | |
download | android-nn-driver-edc5ffa62ab7c552539956eba8bb1d56fb48057c.tar.gz |
IVGCVSW-3116 Fix failing NN Driver Tests on Android Q
* Refactor Convolution2d Unit test for fp16Enabled
* Disable GpuAcc for Unit tests in Android Q
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I9613eb325841bdf7d25abf51259fe2f5d973c929
Diffstat (limited to 'test/Convolution2D.hpp')
-rw-r--r-- | test/Convolution2D.hpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/test/Convolution2D.hpp b/test/Convolution2D.hpp index 3fda29bc..c8d573d7 100644 --- a/test/Convolution2D.hpp +++ b/test/Convolution2D.hpp @@ -20,6 +20,15 @@ using namespace armnn_driver; namespace driverTestHelpers { +#define ARMNN_ANDROID_FP16_TEST(result, fp16Expectation, fp32Expectation, fp16Enabled) \ + if (fp16Enabled) \ + { \ + BOOST_TEST((result == fp16Expectation || result == fp32Expectation), result << \ + " does not match either " << fp16Expectation << "[fp16] or " << fp32Expectation << "[fp32]"); \ + } else \ + { \ + BOOST_TEST(result == fp32Expectation); \ + } void SetModelFp16Flag(V1_0::Model& model, bool fp16Enabled); @@ -33,7 +42,13 @@ void PaddingTestImpl(android::nn::PaddingScheme paddingScheme, bool fp16Enabled using HalModel = typename HalPolicy::Model; using HalOperationType = typename HalPolicy::OperationType; - auto driver = std::make_unique<ArmnnDriver>(DriverOptions(armnn::Compute::GpuAcc, fp16Enabled)); + armnn::Compute computeDevice = armnn::Compute::GpuAcc; + +#ifndef ARMCOMPUTECL_ENABLED + computeDevice = armnn::Compute::CpuRef; +#endif + + auto driver = std::make_unique<ArmnnDriver>(DriverOptions(computeDevice, fp16Enabled)); HalModel model = {}; uint32_t outSize = paddingScheme == android::nn::kPaddingSame ? 2 : 1; @@ -97,26 +112,11 @@ void PaddingTestImpl(android::nn::PaddingScheme paddingScheme, bool fp16Enabled switch (paddingScheme) { case android::nn::kPaddingValid: - if (fp16Enabled) - { - BOOST_TEST(outdata[0] == 1022.f); - } - else - { - BOOST_TEST(outdata[0] == 1022.25f); - } + ARMNN_ANDROID_FP16_TEST(outdata[0], 1022.f, 1022.25f, fp16Enabled) break; case android::nn::kPaddingSame: - if (fp16Enabled) - { - BOOST_TEST(outdata[0] == 1022.f); - BOOST_TEST(outdata[1] == 0.f); - } - else - { - BOOST_TEST(outdata[0] == 1022.25f); - BOOST_TEST(outdata[1] == 0.f); - } + ARMNN_ANDROID_FP16_TEST(outdata[0], 1022.f, 1022.25f, fp16Enabled) + BOOST_TEST(outdata[1] == 0.f); break; default: BOOST_TEST(false); |