From 60a20fb62c992c4c6369bb7f532957f3e151f3d8 Mon Sep 17 00:00:00 2001 From: Narumol Prangnawarat Date: Mon, 9 Dec 2019 17:24:41 +0000 Subject: IVGCVSW-4212 Example of standalone dynamic reference backend * Add example to build dynamic reference backend * Add functions to clear dynamic backends * Fix the error when dynamic backend is not deregistered * Add DYARMNN_DYNAMIC_BACKEND_ENABLED to check disable empty dynamic backend when dynamic backend is enabled Signed-off-by: Narumol Prangnawarat Change-Id: I1ef3a3f10ed6ca5ec18d0af04b007fc3bc71a3cb --- src/dynamic/reference/CMakeLists.txt | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/dynamic/reference/CMakeLists.txt (limited to 'src/dynamic/reference/CMakeLists.txt') diff --git a/src/dynamic/reference/CMakeLists.txt b/src/dynamic/reference/CMakeLists.txt new file mode 100644 index 0000000000..79bf7ec362 --- /dev/null +++ b/src/dynamic/reference/CMakeLists.txt @@ -0,0 +1,35 @@ +# +# Copyright © 2019 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +cmake_minimum_required (VERSION 3.0.2) + +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +# File needed to wrap the existing backend into a dynamic one +list(APPEND armnnRefDynamicBackend_sources + RefDynamicBackend.cpp + RefDynamicBackend.hpp +) + +# Set the backend source path +set(RefBackendPath ${PROJECT_SOURCE_DIR}/../../../src/backends/reference) + +# Source files of the backend, taken directly from the source tree +file(GLOB RefBackendBaseFiles ${RefBackendPath}/*.cpp) +file(GLOB RefBackendWorloadFiles ${RefBackendPath}/workloads/*.cpp) +set(RefBackendFiles ${RefBackendBaseFiles} ${RefBackendWorloadFiles}) + +# Remove the file that contains the static backend registration +list(REMOVE_ITEM RefBackendFiles ${RefBackendPath}/RefRegistryInitializer.cpp) + +# Create the shared object +add_library(Arm_CpuRef_backend MODULE ${armnnRefDynamicBackend_sources} ${RefBackendFiles}) + +target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../include) +target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../third-party) # for half +target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/armnn) +target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/armnnUtils) +target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/backends) +target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/profiling) \ No newline at end of file -- cgit v1.2.1