diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-08-14 14:05:46 +0100 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-08-22 17:30:13 +0100 |
commit | e67edb238a3304dd767a34eca484d84bfebf76f5 (patch) | |
tree | fb0b7f1c13c7234c77e85953b4a9f6d4a0602617 /src/backends/backendsCommon/test | |
parent | c33882d1369927ad02f665b273af129c89834229 (diff) | |
download | armnn-e67edb238a3304dd767a34eca484d84bfebf76f5.tar.gz |
IVGCVSW-3656 Make the reference backend optional
* Made the build of the reference backend depend on a new ARMCOMPUTEREF
macro
* Made the relevant targets dependent on the ref backend
* Moved Cl and Neon static registry initializers to separate files
* Wrapped some of the unit tests into proper ifdefs where necessary
Change-Id: I7f2c42699682630233a4c4b6aed2f005083de189
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/test')
4 files changed, 24 insertions, 4 deletions
diff --git a/src/backends/backendsCommon/test/CMakeLists.txt b/src/backends/backendsCommon/test/CMakeLists.txt index 684b27f2e1..d6f8a6f20b 100644 --- a/src/backends/backendsCommon/test/CMakeLists.txt +++ b/src/backends/backendsCommon/test/CMakeLists.txt @@ -37,7 +37,6 @@ list(APPEND armnnBackendsCommonUnitTests_sources MockBackend.cpp MockBackend.hpp MockBackendId.hpp - OptimizedNetworkTests.cpp OptimizeSubgraphViewTests.cpp OptimizationViewsTests.cpp PermuteTestImpl.hpp @@ -56,11 +55,17 @@ list(APPEND armnnBackendsCommonUnitTests_sources StridedSliceTestImpl.hpp TensorCopyUtils.cpp TensorCopyUtils.hpp - WorkloadDataValidation.cpp WorkloadFactoryHelper.hpp WorkloadTestUtils.hpp ) +if (ARMCOMPUTEREF) + list(APPEND armnnBackendsCommonUnitTests_sources + OptimizedNetworkTests.cpp + WorkloadDataValidation.cpp + ) +endif() + add_library(armnnBackendsCommonUnitTests OBJECT ${armnnBackendsCommonUnitTests_sources}) target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils) diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.cpp b/src/backends/backendsCommon/test/DynamicBackendTests.cpp index e42a08adc7..17a99f8b35 100644 --- a/src/backends/backendsCommon/test/DynamicBackendTests.cpp +++ b/src/backends/backendsCommon/test/DynamicBackendTests.cpp @@ -61,6 +61,12 @@ ARMNN_SIMPLE_TEST_CASE(RuntimeDuplicateDynamicBackends, RuntimeDuplicateDynamicB ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidDynamicBackends, RuntimeInvalidDynamicBackendsTestImpl); ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidOverridePath, RuntimeInvalidOverridePathTestImpl); +#if defined(ARMCOMPUTEREF_ENABLED) + +// This test unit needs the reference backend, it's not available if the reference backend is not built + ARMNN_SIMPLE_TEST_CASE(CreateReferenceDynamicBackend, CreateReferenceDynamicBackendTestImpl); +#endif + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.hpp b/src/backends/backendsCommon/test/DynamicBackendTests.hpp index e225124e01..6c093fc952 100644 --- a/src/backends/backendsCommon/test/DynamicBackendTests.hpp +++ b/src/backends/backendsCommon/test/DynamicBackendTests.hpp @@ -1344,6 +1344,10 @@ void RuntimeInvalidOverridePathTestImpl() BOOST_TEST(supportedBackendIds.empty()); } +#if defined(ARMCOMPUTEREF_ENABLED) + +// This test unit needs the reference backend, it's not available if the reference backend is not built + void CreateReferenceDynamicBackendTestImpl() { using namespace armnn; @@ -1427,3 +1431,5 @@ void CreateReferenceDynamicBackendTestImpl() BOOST_TEST((workload != nullptr)); BOOST_TEST(workload.get() == boost::polymorphic_downcast<RefConvolution2dWorkload*>(workload.get())); } + +#endif diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp index 2201499b3a..561e526345 100644 --- a/src/backends/backendsCommon/test/LayerTests.cpp +++ b/src/backends/backendsCommon/test/LayerTests.cpp @@ -20,8 +20,6 @@ #include <backendsCommon/IBackendInternal.hpp> #include <backendsCommon/WorkloadFactory.hpp> -#include <reference/workloads/RefWorkloads.hpp> - #include <algorithm> #include <boost/cast.hpp> @@ -2088,6 +2086,10 @@ LayerTestResult<int16_t, 3> CopyViaSplitterInt16Test( return CopyViaSplitterTestImpl<armnn::DataType::QuantisedSymm16>(workloadFactory, memoryManager, 1.0f, 0); } +#if defined(ARMCOMPUTEREF_ENABLED) + +// The LSTM test units are run only for the reference backend at the moment + void LstmUtilsZeroVectorTest() { armnn::TensorInfo inputDesc({4}, armnn::DataType::Float32); @@ -2234,6 +2236,7 @@ void LstmUtilsVectorBatchVectorAddTest() vecSize, batchSize, expectedOutput); } +#endif LayerTestResult<float, 2> LstmLayerFloat32WithCifgWithPeepholeNoProjectionTest( armnn::IWorkloadFactory& workloadFactory, |