Git Product home page Git Product logo

Comments (11)

mansnils avatar mansnils commented on May 28, 2024

Hi @WORsjlt
Thanks for reporting this. What compiler and version are you using?

from cmsis-nn.

mansnils avatar mansnils commented on May 28, 2024

Also would like to check if it may be related to compiler options?
https://github.com/ARM-software/CMSIS-NN#compiler-options

from cmsis-nn.

WORsjlt avatar WORsjlt commented on May 28, 2024

Hi @mansnils
Here is the output message about compiler and version when compiling:
GNU C17 (Arm GNU Toolchain 11.3.Rel1) version 11.3.1 20220712 (arm-none-eabi)
compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.2.1, MPFR version 3.1.6, MPC version 1.0.3, isl version isl-0.15-1-g835ea3a-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 801c9e4705ed9ec92526a3ce66f3ab92
GNU assembler version 2.38 (arm-none-eabi) using BFD version (Arm GNU Toolchain 11.3.Rel1) 2.38.20220708

Hope it helps!

from cmsis-nn.

mansnils avatar mansnils commented on May 28, 2024

It looks like a supported compiler. Question is how to reproduce this. Do you build like described here: https://github.com/ARM-software/CMSIS-NN#building-cmsis-nn-as-a-library
Or do you set some custom build options?

from cmsis-nn.

WORsjlt avatar WORsjlt commented on May 28, 2024

I tried to build cmsis-nn inside a project using Nuttx. I defined -DTARGET_CPU=cortex-m55 and some custom options, but I'm not sure which option produces this. Here are some options filtering out header files:
-imultilib thumb/v8-m.main+dp/hard -iprefix /(my project path)/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/ -isysroot /(my project path)/prebuilts/gcc/linux/arm/bin/../arm-none-eabi -D__USES_INITFINI__ -D NuttX -isystem /(my project path)/nuttx/include cmsis-nn/Source/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c -quiet -dumpdir cmsis-nn/Source/NNSupportFunctions/ -dumpbase arm_nn_mat_mul_core_4x_s8.c.(my project path).cmsis-nn.c -dumpbase-ext .c -mlittle-endian -mtune=cortex-m55 -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -mlibarch=armv8.1-m.main+fp.dp+mve.fp -march=armv8.1-m.main+fp.dp+mve.fp
-EL -march=armv8.1-m.main+fp.dp+mve.fp -mfloat-abi=hard -mfpu=fpv5-d16 -meabi=5 -mthumb -mimplicit-it=always

from cmsis-nn.

felix-johnny avatar felix-johnny commented on May 28, 2024

@WORsjlt The optimization level is missing in this. Could you try with atleast -O1 or higher?

from cmsis-nn.

WORsjlt avatar WORsjlt commented on May 28, 2024

@felix-johnny I used -O3.

from cmsis-nn.

mansnils avatar mansnils commented on May 28, 2024

@WORsjlt Could you post the complete line from above (...arm_nn_mat_mul_core_4x_s8.c -quiet -dumpdir ...) with all compiler options?

from cmsis-nn.

WORsjlt avatar WORsjlt commented on May 28, 2024

@mansnils Sure! Some of the project information has been removed for personal academic reasons. Sorry about that.

COLLECT_GCC_OPTIONS='-c' '-Wstrict-prototypes' '-Wno-attributes' '-Wno-unknown-pragmas' '-Wno-psabi' '-nostdlib' '-pipe' '-O3' '-fno-strict-aliasing' '-fno-omit-frame-pointer' '-fno-optimize-sibling-calls' '-funwind-tables' '-fasynchronous-unwind-tables' '-fno-common' '-Wall' '-Wshadow' '-Wundef' '-ffunction-sections' '-fdata-sections' '-g' '-mlittle-endian' '-mtune=cortex-m55' '-mfpu=fpv5-d16' '-mfloat-abi=hard' '-mthumb' '-isystem' '-D' 'NuttX' '-Wno-cpp' '-v' '-o' 'cmsis-nn/Source/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c.(my project path).cmsis-nn.o' '-mlibarch=armv8.1-m.main+fp.dp+mve.fp' '-march=armv8.1-m.main+fp.dp+mve.fp' '-dumpdir' 'cmsis-nn/Source/NNSupportFunctions/' /(my project path)/prebuilts/gcc/linux/arm/bin/../libexec/gcc/arm-none-eabi/11.3.1/cc1 -quiet -v thumb/v8-m.main+dp/hard -iprefix /(my project path)/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/ -isysroot /(my project path)/prebuilts/gcc/linux/arm/bin/../arm-none-eabi -D__USES_INITFINI__ -D NuttX -isystem /(my project path)/nuttx/include cmsis-nn/Source/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c -quiet -dumpdir cmsis-nn/Source/NNSupportFunctions/ -dumpbase arm_nn_mat_mul_core_4x_s8.c.(my project path).cmsis-nn.c -dumpbase-ext .c -mlittle-endian -mtune=cortex-m55 -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -mlibarch=armv8.1-m.main+fp.dp+mve.fp -march=armv8.1-m.main+fp.dp+mve.fp -g -O3 -Wstrict-prototypes -Wno-attributes -Wno-unknown-pragmas -Wno-psabi -Wall -Wshadow -Wundef -Wno-cpp -version -fno-strict-aliasing -fno-omit-frame-pointer -fno-optimize-sibling-calls -funwind-tables -fasynchronous-unwind-tables -fno-common -ffunction-sections -fdata-sections -o - | /(my project path)/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/as -v -EL -march=armv8.1-m.main+fp.dp+mve.fp -mfloat-abi=hard -mfpu=fpv5-d16 -meabi=5 -mthumb -mimplicit-it=always -o cmsis-nn/Source/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c.(my project path).cmsis-nn.o

from cmsis-nn.

mansnils avatar mansnils commented on May 28, 2024

Can you try without -fno-omit-frame-pointer?

from cmsis-nn.

WORsjlt avatar WORsjlt commented on May 28, 2024

Cancelling -fno-omit-frame-pointer works! Thank you very much! @mansnils @felix-johnny

from cmsis-nn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.