diff --git a/apps/microtvm/cmsisnn/Makefile b/apps/microtvm/cmsisnn/Makefile index e7d1b7081d54..2fc4d4fa06c9 100644 --- a/apps/microtvm/cmsisnn/Makefile +++ b/apps/microtvm/cmsisnn/Makefile @@ -31,11 +31,6 @@ CMAKE ?= cmake CC = arm-none-eabi-gcc AR = arm-none-eabi-ar RANLIB = arm-none-eabi-ranlib -ifeq ($(shell [ -d ${CMSIS_PATH}/CMSIS-NN ]; echo $$?), 0) - CMSIS_NN_PATH = ${CMSIS_PATH}/CMSIS-NN -else - CMSIS_NN_PATH = ${CMSIS_PATH}/CMSIS/NN -endif PKG_CFLAGS = ${PKG_COMPILE_OPTS} \ -I${STANDALONE_CRT_PATH}/include \ -I${STANDALONE_CRT_PATH}/src/runtime/crt/include \ @@ -43,7 +38,7 @@ PKG_CFLAGS = ${PKG_COMPILE_OPTS} \ -I${CORSTONE_300_PATH} \ -I${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Include/ \ -I${CMSIS_PATH}/CMSIS/Core/Include \ - -I${CMSIS_NN_PATH}/Include \ + -I${CMSIS_PATH}/CMSIS-NN/Include \ -I${CMSIS_PATH}/CMSIS/DSP/Include \ -I$(abspath $(BUILD_DIR))/codegen/host/include CMSIS_NN_CMAKE_FLAGS = -DCMAKE_TOOLCHAIN_FILE=$(abspath $(BUILD_DIR))/../arm-none-eabi-gcc.cmake \ @@ -61,7 +56,7 @@ DEMO_MAIN = src/demo_bare_metal.c CODEGEN_SRCS = $(wildcard $(abspath $(BUILD_DIR))/codegen/host/src/*.c) CODEGEN_OBJS = $(subst .c,.o,$(CODEGEN_SRCS)) CMSIS_STARTUP_SRCS = $(wildcard ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Source/*.c) -CMSIS_NN_SRCS = $(shell find ${CMSIS_NN_PATH}/Source/*/*.c) +CMSIS_NN_SRCS = $(shell find ${CMSIS_PATH}/CMSIS-NN/Source/*/*.c) UART_SRCS = $(wildcard ${CORSTONE_300_PATH}/*.c) demo: $(BUILD_DIR)/demo diff --git a/apps/microtvm/ethosu/Makefile b/apps/microtvm/ethosu/Makefile index 63f8adbc2790..630a2082473d 100644 --- a/apps/microtvm/ethosu/Makefile +++ b/apps/microtvm/ethosu/Makefile @@ -32,11 +32,6 @@ CMAKE ?= cmake CC = arm-none-eabi-gcc AR = arm-none-eabi-ar RANLIB = arm-none-eabi-ranlib -ifeq ($(shell [ -d ${CMSIS_PATH}/CMSIS-NN ]; echo $$?), 0) - CMSIS_NN_PATH = ${CMSIS_PATH}/CMSIS-NN -else - CMSIS_NN_PATH = ${CMSIS_PATH}/CMSIS/NN -endif PKG_CFLAGS = ${PKG_COMPILE_OPTS} \ -I${STANDALONE_CRT_PATH}/include \ -I${STANDALONE_CRT_PATH}/src/runtime/crt/include \ @@ -45,7 +40,7 @@ PKG_CFLAGS = ${PKG_COMPILE_OPTS} \ -I${ETHOSU_PATH}/core_driver/include \ -I${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Include/ \ -I${CMSIS_PATH}/CMSIS/Core/Include \ - -I${CMSIS_NN_PATH}/Include \ + -I${CMSIS_PATH}/CMSIS-NN/Include \ -I${CMSIS_PATH}/CMSIS/DSP/Include \ -I$(abspath $(BUILD_DIR))/codegen/host/include \ -DETHOSU_TEST_RUNNER_TOL=${ETHOSU_TEST_RUNNER_TOL} @@ -83,7 +78,7 @@ endif CODEGEN_SRCS = $(wildcard $(abspath $(BUILD_DIR))/codegen/host/src/*.c) CODEGEN_OBJS = $(subst .c,.o,$(CODEGEN_SRCS)) CMSIS_STARTUP_SRCS = $(wildcard ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Source/*.c) -CMSIS_NN_SOFTMAX_SRCS = $(shell find ${CMSIS_NN_PATH}/Source/SoftmaxFunctions/*.c) +CMSIS_NN_SOFTMAX_SRCS = $(shell find ${CMSIS_PATH}/CMSIS-NN/Source/SoftmaxFunctions/*.c) UART_SRCS = $(wildcard ${CORSTONE_300_PATH}/*.c) demo: $(BUILD_DIR)/demo diff --git a/apps/microtvm/zephyr/template_project/CMakeLists.txt.template b/apps/microtvm/zephyr/template_project/CMakeLists.txt.template index 17200f7e9704..1aff9ece6bfa 100644 --- a/apps/microtvm/zephyr/template_project/CMakeLists.txt.template +++ b/apps/microtvm/zephyr/template_project/CMakeLists.txt.template @@ -31,27 +31,21 @@ find_package(Zephyr HINTS $ENV{ZEPHYR_BASE}) project(microtvm_autogenerated_project) if(DEFINED CMSIS_PATH) - if (EXISTS ${CMSIS_PATH}/CMSIS-NN) - set(CMSIS_NN_PATH ${CMSIS_PATH}/CMSIS-NN) - else() - set(CMSIS_NN_PATH ${CMSIS_PATH}/CMSIS/NN) - endif() - file(GLOB_RECURSE cmsis_lib_srcs - ${CMSIS_NN_PATH}/Source/ActivationFunctions/*.c - ${CMSIS_NN_PATH}/Source/BasicMathFunctions/*.c - ${CMSIS_NN_PATH}/Source/ConcatenationFunctions/*.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/*.c - ${CMSIS_NN_PATH}/Source/FullyConnectedFunctions/*.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/*.c - ${CMSIS_NN_PATH}/Source/PoolingFunctions/*.c - ${CMSIS_NN_PATH}/Source/ReshapeFunctions/*.c - ${CMSIS_NN_PATH}/Source/SoftmaxFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/ActivationFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/BasicMathFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConcatenationFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/FullyConnectedFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/PoolingFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/ReshapeFunctions/*.c + ${CMSIS_PATH}/CMSIS-NN/Source/SoftmaxFunctions/*.c ) set(cmsis_includes ${CMSIS_PATH}/CMSIS/Core/Include - ${CMSIS_NN_PATH}/Include + ${CMSIS_PATH}/CMSIS-NN/Include ${CMSIS_PATH}/CMSIS/DSP/Include ${CMSIS_PATH}/CMSIS/DSP/Include/dsp ) diff --git a/apps/microtvm/zephyr_cmsisnn/CMakeLists.txt b/apps/microtvm/zephyr_cmsisnn/CMakeLists.txt index 9dec75dc5030..a68370099515 100644 --- a/apps/microtvm/zephyr_cmsisnn/CMakeLists.txt +++ b/apps/microtvm/zephyr_cmsisnn/CMakeLists.txt @@ -51,34 +51,24 @@ set(DATA_FILES ${CMAKE_CURRENT_BINARY_DIR}/outputs.c ${CMAKE_CURRENT_BINARY_DIR}/labels.c ) - -if (EXISTS ${CMSIS_PATH}/CMSIS-NN) - set(CMSIS_NN_PATH ${CMSIS_PATH}/CMSIS-NN) - set(CMSIS_NN_ADDITIONAL_SOURCES - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_convolve_1x1_s8.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/arm_nn_mat_mult_nt_t_s8.c - ) -else() - set(CMSIS_NN_PATH ${CMSIS_PATH}/CMSIS/NN) -endif() - set(CMSIS_SOURCES - ${CMSIS_NN_PATH}/Source/SoftmaxFunctions/arm_softmax_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_depthwise_conv_wrapper_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_depthwise_conv_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_depthwise_conv_s8_opt.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_s8.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_padded_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_convolve_wrapper_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_convolve_1_x_n_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_convolve_1x1_s8_fast.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_convolve_s8.c - ${CMSIS_NN_PATH}/Source/ConvolutionFunctions/arm_nn_mat_mult_s8.c - ${CMSIS_NN_PATH}/Source/FullyConnectedFunctions/arm_fully_connected_s8.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/arm_nn_vec_mat_mult_t_s8.c - ${CMSIS_NN_PATH}/Source/NNSupportFunctions/arm_nn_mat_mul_core_1x_s8.c - ${CMSIS_NN_ADDITIONAL_SOURCES} + ${CMSIS_PATH}/CMSIS-NN/Source/SoftmaxFunctions/arm_softmax_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_depthwise_conv_wrapper_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_depthwise_conv_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_depthwise_conv_s8_opt.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_padded_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_convolve_wrapper_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_convolve_1_x_n_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_convolve_1x1_s8_fast.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_convolve_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_convolve_1x1_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/ConvolutionFunctions/arm_nn_mat_mult_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/FullyConnectedFunctions/arm_fully_connected_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/arm_nn_vec_mat_mult_t_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/arm_nn_mat_mult_nt_t_s8.c + ${CMSIS_PATH}/CMSIS-NN/Source/NNSupportFunctions/arm_nn_mat_mul_core_1x_s8.c ) add_custom_command( @@ -105,5 +95,5 @@ target_sources(app PRIVATE target_include_directories(app PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/runtime/include ${CMAKE_CURRENT_BINARY_DIR}/codegen/host/include - PUBLIC ${CMSIS_NN_PATH}/Include/ ${CMSIS_PATH}/CMSIS/DSP/Include + PUBLIC ${CMSIS_PATH}/CMSIS-NN/Include/ ${CMSIS_PATH}/CMSIS/DSP/Include ) diff --git a/docker/install/ubuntu_install_ethosu_driver_stack.sh b/docker/install/ubuntu_install_ethosu_driver_stack.sh index 0fb35b13e797..8bc6b733edc8 100755 --- a/docker/install/ubuntu_install_ethosu_driver_stack.sh +++ b/docker/install/ubuntu_install_ethosu_driver_stack.sh @@ -87,7 +87,4 @@ make # Build NN Library mkdir ${CMSIS_PATH}/CMSIS-NN/build/ && cd ${CMSIS_PATH}/CMSIS-NN/build/ cmake .. -DCMAKE_TOOLCHAIN_FILE=${ethosu_dir}/core_platform/cmake/toolchain/arm-none-eabi-gcc.cmake -DTARGET_CPU=cortex-m55 -DBUILD_CMSIS_NN_FUNCTIONS=YES -DCMSIS_PATH=${CMSIS_PATH} - -mkdir ${CMSIS_PATH}/CMSIS/NN/build/ && cd ${CMSIS_PATH}/CMSIS/NN/build/ -cmake .. -DCMAKE_TOOLCHAIN_FILE=${ethosu_dir}/core_platform/cmake/toolchain/arm-none-eabi-gcc.cmake -DTARGET_CPU=cortex-m55 -DBUILD_CMSIS_NN_FUNCTIONS=YES make diff --git a/tests/micro/zephyr/test_zephyr.py b/tests/micro/zephyr/test_zephyr.py index a053c905aa34..f86f4a7a7f3f 100644 --- a/tests/micro/zephyr/test_zephyr.py +++ b/tests/micro/zephyr/test_zephyr.py @@ -624,7 +624,7 @@ def test_schedule_build_with_cmsis_dependency(workspace_dir, board, microtvm_deb assert "CMSIS/DSP/Include" in cmake_content assert "CMSIS/DSP/Include/dsp" in cmake_content assert "CMSIS/DSP/Include" in cmake_content - # assert "CMSIS-NN/Include" in cmake_content + assert "CMSIS-NN/Include" in cmake_content if __name__ == "__main__": diff --git a/tests/python/relay/aot/corstone300.mk b/tests/python/relay/aot/corstone300.mk index ebda50d9cfef..45d93ab493ed 100644 --- a/tests/python/relay/aot/corstone300.mk +++ b/tests/python/relay/aot/corstone300.mk @@ -48,11 +48,6 @@ CC = arm-none-eabi-gcc AR = arm-none-eabi-ar RANLIB = arm-none-eabi-ranlib CC_OPTS = CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) -ifeq ($(shell [ -d ${CMSIS_PATH}/CMSIS-NN ]; echo $$?), 0) - CMSIS_NN_PATH = ${CMSIS_PATH}/CMSIS-NN -else - CMSIS_NN_PATH = ${CMSIS_PATH}/CMSIS/NN -endif PKG_CFLAGS = ${PKG_COMPILE_OPTS} \ ${CFLAGS} \ -I$(build_dir)/../include \ @@ -62,7 +57,7 @@ PKG_CFLAGS = ${PKG_COMPILE_OPTS} \ -I${DRIVER_PATH}/include \ -I${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Include/ \ -I${CMSIS_PATH}/CMSIS/Core/Include \ - -I${CMSIS_NN_PATH}/Include \ + -I${CMSIS_PATH}/CMSIS-NN/Include \ -I${CMSIS_PATH}/CMSIS/DSP/Include \ -isystem$(STANDALONE_CRT_DIR)/include DRIVER_CMAKE_FLAGS = -DCMAKE_TOOLCHAIN_FILE=$(ETHOSU_TEST_ROOT)/arm-none-eabi-gcc.cmake \ @@ -83,7 +78,7 @@ CC_CODEGEN_SRCS = $(shell find $(abspath $(CODEGEN_ROOT)/host/src/*.cc)) C_CODEGEN_OBJS = $(subst .c,.o,$(C_CODEGEN_SRCS)) CC_CODEGEN_OBJS = $(subst .cc,.o,$(CC_CODEGEN_SRCS)) CMSIS_STARTUP_SRCS = $(shell find ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Source/*.c) -CMSIS_NN_SRCS = $(shell find ${CMSIS_NN_PATH}/Source/*/*.c) +CMSIS_NN_SRCS = $(shell find ${CMSIS_PATH}/CMSIS-NN/Source/*/*.c) UART_SRCS = $(shell find ${PLATFORM_PATH}/*.c) ifdef ETHOSU_TEST_ROOT