aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference')
-rw-r--r--src/backends/reference/CMakeLists.txt53
-rw-r--r--src/backends/reference/backend.cmake10
-rw-r--r--src/backends/reference/backend.mk28
3 files changed, 67 insertions, 24 deletions
diff --git a/src/backends/reference/CMakeLists.txt b/src/backends/reference/CMakeLists.txt
index 6852ab0b74..ff253787a1 100644
--- a/src/backends/reference/CMakeLists.txt
+++ b/src/backends/reference/CMakeLists.txt
@@ -3,30 +3,39 @@
# SPDX-License-Identifier: MIT
#
-list(APPEND armnnRefBackend_sources
- RefBackend.cpp
- RefBackend.hpp
- RefBackendId.hpp
- RefTensorHandle.hpp
- RefTensorHandle.cpp
- RefLayerSupport.cpp
- RefLayerSupport.hpp
- RefMemoryManager.hpp
- RefMemoryManager.cpp
- RefRegistryInitializer.cpp
- RefWorkloadFactory.cpp
- RefWorkloadFactory.hpp
- RefTensorHandleFactory.hpp
- RefTensorHandleFactory.cpp
-)
+if(ARMCOMPUTEREF)
+ list(APPEND armnnRefBackend_sources
+ RefBackend.cpp
+ RefBackend.hpp
+ RefBackendId.hpp
+ RefTensorHandle.hpp
+ RefTensorHandle.cpp
+ RefLayerSupport.cpp
+ RefLayerSupport.hpp
+ RefMemoryManager.hpp
+ RefMemoryManager.cpp
+ RefRegistryInitializer.cpp
+ RefWorkloadFactory.cpp
+ RefWorkloadFactory.hpp
+ RefTensorHandleFactory.cpp
+ RefTensorHandleFactory.hpp
+ )
+
+ add_subdirectory(workloads)
+
+ if(BUILD_UNIT_TESTS)
+ add_subdirectory(test)
+ endif()
+
+else()
+ list(APPEND armnnRefBackend_sources
+ RefBackendId.hpp
+ RefLayerSupport.cpp
+ RefLayerSupport.hpp
+ )
+endif()
add_library(armnnRefBackend OBJECT ${armnnRefBackend_sources})
target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
-
-add_subdirectory(workloads)
-
-if(BUILD_UNIT_TESTS)
- add_subdirectory(test)
-endif()
diff --git a/src/backends/reference/backend.cmake b/src/backends/reference/backend.cmake
index 5ae088a124..e88968de8b 100644
--- a/src/backends/reference/backend.cmake
+++ b/src/backends/reference/backend.cmake
@@ -4,5 +4,11 @@
#
add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/reference)
-list(APPEND armnnLibraries armnnRefBackend armnnRefBackendWorkloads)
-list(APPEND armnnUnitTestLibraries armnnRefBackendUnitTests)
+list(APPEND armnnLibraries armnnRefBackend)
+
+if(ARMCOMPUTEREF)
+ list(APPEND armnnLibraries armnnRefBackendWorkloads)
+ list(APPEND armnnUnitTestLibraries armnnRefBackendUnitTests)
+else()
+ message("Reference backend is disabled")
+endif()
diff --git a/src/backends/reference/backend.mk b/src/backends/reference/backend.mk
index a8df565947..13251b779a 100644
--- a/src/backends/reference/backend.mk
+++ b/src/backends/reference/backend.mk
@@ -7,6 +7,12 @@
# in the Android build and it is picked up by the Android.mk
# file in the root of ArmNN
+# The variable to enable/disable the reference backend (ARMNN_COMPUTE_REF_ENABLED is declared in android-nn-driver/Android.mk)
+ifeq ($(ARMNN_COMPUTE_REF_ENABLED),1)
+
+# ARMNN_COMPUTE_REF_ENABLED == 1
+# Include the source files for the reference backend
+
BACKEND_SOURCES := \
RefBackend.cpp \
RefLayerSupport.cpp \
@@ -78,11 +84,25 @@ BACKEND_SOURCES := \
workloads/Softmax.cpp \
workloads/Splitter.cpp \
workloads/TransposeConvolution2d.cpp
+else
+
+# ARMNN_COMPUTE_REF_ENABLED == 0
+# No source file will be compiled for the reference backend
+
+BACKEND_SOURCES :=
+
+endif
# BACKEND_TEST_SOURCES contains the list of files to be included
# in the Android unit test build (armnn-tests) and it is picked
# up by the Android.mk file in the root of ArmNN
+# The variable to enable/disable the CL backend (ARMNN_COMPUTE_REF_ENABLED is declared in android-nn-driver/Android.mk)
+ifeq ($(ARMNN_COMPUTE_REF_ENABLED),1)
+
+# ARMNN_COMPUTE_REF_ENABLED == 1
+# Include the source files for the CL backend tests
+
BACKEND_TEST_SOURCES := \
test/RefCreateWorkloadTests.cpp \
test/RefDetectionPostProcessTests.cpp \
@@ -93,3 +113,11 @@ BACKEND_TEST_SOURCES := \
test/RefMemoryManagerTests.cpp \
test/RefOptimizedNetworkTests.cpp \
test/RefRuntimeTests.cpp
+else
+
+# ARMNN_COMPUTE_REF_ENABLED == 0
+# No source file will be compiled for the reference backend tests
+
+BACKEND_TEST_SOURCES :=
+
+endif