diff options
author | Nina Drozd <nina.drozd@arm.com> | 2022-02-15 14:32:57 +0000 |
---|---|---|
committer | Isabella Gottardi <isabella.gottardi@arm.com> | 2022-02-21 17:42:29 +0000 |
commit | 68549b4afbe5098e46bda12be3769c7bf70b6e8b (patch) | |
tree | 053f1aa8c629cf42a0dede59abccb2a1471afda9 /scripts/cmake/tensorflow.cmake | |
parent | 52dbd947e710cc91d3309bc96de3802bd922154c (diff) | |
download | ml-embedded-evaluation-kit-68549b4afbe5098e46bda12be3769c7bf70b6e8b.tar.gz |
MLECO-2927: Build Arm Ethos-U NPU driver outside TFLu
* TensorFlow CMake uses Arm Ethos-U NPU driver lib path
* armclang DWARF level config flag removed
* uses and mentions of DWARF level removed
* TensorFlow uses Arm Cortex-M generic target
* removed Arm Cortex-M custom target makefile and dir
Change-Id: Ie0d3edb5473462ef8552f8b9f832190de5e99a7c
Diffstat (limited to 'scripts/cmake/tensorflow.cmake')
-rw-r--r-- | scripts/cmake/tensorflow.cmake | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/scripts/cmake/tensorflow.cmake b/scripts/cmake/tensorflow.cmake index 9d72405..284c70a 100644 --- a/scripts/cmake/tensorflow.cmake +++ b/scripts/cmake/tensorflow.cmake @@ -45,24 +45,19 @@ set(TENSORFLOW_LITE_MICRO_PATH "${TENSORFLOW_SRC_PATH}/tensorflow/lite/micro") set(TENSORFLOW_LITE_MICRO_GENDIR ${CMAKE_CURRENT_BINARY_DIR}/tensorflow/) set(TENSORFLOW_LITE_MICRO_PLATFORM_LIB_NAME "libtensorflow-microlite.a") -set(ETHOS_EVAL_TARGET_MAKEFILE_INC ${CMAKE_CURRENT_SOURCE_DIR}/scripts/make/cortex_m_ethos_eval_makefile.inc) - if (TARGET_PLATFORM STREQUAL native) set(TENSORFLOW_LITE_MICRO_TARGET "linux") set(TENSORFLOW_LITE_MICRO_TARGET_ARCH x86_64) else() - set(TENSORFLOW_LITE_MICRO_TARGET "cortex_m_ethos_eval") + set(TENSORFLOW_LITE_MICRO_TARGET "cortex_m_generic") set(TENSORFLOW_LITE_MICRO_TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR}${CPU_FEATURES}) if(ETHOS_U_NPU_ENABLED) # Arm Ethos-U55 NPU is the co-processor for ML workload: set(TENSORFLOW_LITE_MICRO_CO_PROCESSOR "ethos_u") + string(TOLOWER ${ETHOS_U_NPU_ID} ETHOSU_ARCH) endif() set(TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL "cmsis_nn") - - # Copy over the target helper (cortex_m_ethos_eval) - file(COPY ${ETHOS_EVAL_TARGET_MAKEFILE_INC} - DESTINATION ${TENSORFLOW_LITE_MICRO_PATH}/tools/make/targets/) endif() if (TENSORFLOW_LITE_MICRO_CLEAN_DOWNLOADS) @@ -92,11 +87,12 @@ add_custom_target(tensorflow_build ALL TARGET=${TENSORFLOW_LITE_MICRO_TARGET} TARGET_ARCH=${TENSORFLOW_LITE_MICRO_TARGET_ARCH} BUILD_TYPE=${TENSORFLOW_LITE_MICRO_BUILD_TYPE} - ETHOSU_ARCH=${ETHOSU_ARCH} - ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH} CMSIS_PATH=${CMSIS_SRC_PATH} # Conditional arguments - $<$<BOOL:${ARMCLANG_DEBUG_DWARF_LEVEL}>:ARMCLANG_DEBUG_DWARF_LEVEL=${ARMCLANG_DEBUG_DWARF_LEVEL}> + $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_ARCH=${ETHOSU_ARCH}> + $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH}> + $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_DRIVER_LIBS=$<TARGET_FILE:ethosu_core_driver>> + $<$<BOOL:${TENSORFLOW_LITE_MICRO_CORE_OPTIMIZATION_LEVEL}>:CORE_OPTIMIZATION_LEVEL=${TENSORFLOW_LITE_MICRO_CORE_OPTIMIZATION_LEVEL}> $<$<BOOL:${TENSORFLOW_LITE_MICRO_KERNEL_OPTIMIZATION_LEVEL}>:KERNEL_OPTIMIZATION_LEVEL=${TENSORFLOW_LITE_MICRO_KERNEL_OPTIMIZATION_LEVEL}> $<$<BOOL:${TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL}>:OPTIMIZED_KERNEL_DIR=${TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL}> @@ -116,7 +112,13 @@ add_custom_target(tensorflow_build ALL # Create library -add_library(tensorflow-lite-micro STATIC IMPORTED) + +set(TENSORFLOW_LITE_MICRO_TARGET tensorflow-lite-micro) +add_library(${TENSORFLOW_LITE_MICRO_TARGET} STATIC IMPORTED) + +if(ETHOS_U_NPU_ENABLED) + add_dependencies(tensorflow_build ethosu_core_driver) +endif() add_dependencies(tensorflow-lite-micro tensorflow_build) @@ -129,4 +131,4 @@ target_include_directories(tensorflow-lite-micro target_compile_definitions(tensorflow-lite-micro INTERFACE - TF_LITE_STATIC_MEMORY) + TF_LITE_STATIC_MEMORY)
\ No newline at end of file |