Lines Matching +full:doxygen +full:- +full:version
3 performance and minimize the memory footprint of neural networks on Arm Cortex-M processors.
7 This means CMSIS-NN is bit-exact with Tensorflow Lite reference kernels. In some cases TFL and TFLM reference kernels may not be bit-exact. In that case CMSIS-NN follows TFLM reference kernels. The unit test readme provides an [overview](https://github.com/ARM-software/CMSIS-NN/blob/main/Tests/UnitTest/README.md#tests-depending-on-tflm-interpreter).
12 [here](https://github.com/ARM-software/CMSIS-NN/releases) .
18 There is always a pure C implementation for an operator. This is used for processors like Arm Cortex-M0 or Cortex-M3.
21 processors here are Cortex-M4 or a Cortex-M33 configured with optional DSP extension.
24 Processors with Arm Helium Technology use the Arm M-profile Vector Extension(MVE) instructions for optimization.
25 Examples are Cortex-M55 or Cortex-M85 configured with MVE.
28 | --------------- | ----------- | ---------- |------------|-------------| -------------|--------------|-------------| -------------|--------------|
59 the function to an appropriate Doxygen group as well.
61 ### Doxygen
62 Function prototypes must have a detailed comment header in Doxygen format. You can execute the doxygen document generation
63 script in the Documentation/Doxygen folder to check that no errors are introduced.
70 ### Version & Date
71 Each File has a version number and a date field that must be updated when making any change to that file. The versioning
74 ## Building CMSIS-NN as a library
75 It is recommended to use toolchain files from [Arm Ethos-U Core Platform](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-platform) project. These are supporting TARGET_CPU, which is a required argument. Note that if not specifying TARGET_CPU, these toolchains will set some default. The format must be TARGET_CPU=cortex-mXX, see examples below.
83 cmake .. -DCMAKE_TOOLCHAIN_FILE=</path/to/ethos-u-core-platform>/cmake/toolchain/arm-none-eabi-gcc.cmake -DTARGET_CPU=cortex-m55
90 cmake .. -DCMAKE_TOOLCHAIN_FILE=</path/to/ethos-u-core-platform>/cmake/toolchain/armclang.cmake -DTARGET_CPU=cortex-m55
91 cmake .. -DCMAKE_TOOLCHAIN_FILE=</path/to/ethos-u-core-platform>/cmake/toolchain/arm-none-eabi-gcc.cmake -DTARGET_CPU=cortex-m7
92 cmake .. -DCMAKE_TOOLCHAIN_FILE=</path/to/ethos-u-core-platform>/cmake/toolchain/armclang.cmake -DTARGET_CPU=cortex-m3
96 Default optimization level is set at Ofast. This can be overwritten with CMake on command line by using <nobr>*"-DCMSIS_OPTIMIZATION_LEVEL"*</nobr>. Please change according to project needs.
97 Just bear in mind this can impact performance. With only optimization level -O0, *ARM_MATH_AUTOVECTORIZE* needs to be defined for processors with Helium
100 The compiler option *'-fomit-frame-pointer'* is enabled by default at -O and higher. When no optimization level is specified,
101 you may need to specify '-fomit-frame-pointer'.
103 The compiler option *'-fno-builtin'* does not utilize optimized implementations of e.g. memcpy and memset, which are heavily used by CMSIS-NN. It can significantly downgrade performance. So this should be avoided. The compiler option *'-ffreestanding'* should also be avoided as it enables '-fno-builtin' implicitly.
107 For processors with DSP extension, int4 and int8 convolutions make use of the restrict keyword for the output pointer. This can allow the compiler to make optimizations but the actual performance result depends on the Arm(R) Cortex(R)-M processor, the compiler and the model. This optimization can be enabled by providing the compiler with a defition of OPTIONAL_RESTRICT_KEYWORD=__restrict . In general Arm Cortex-M7 will benefit from this. Similar Arm Cortex-M4 and Cortex-M33, will generally not benefit from it, but it may still bring an uplift depending on the model and compiler. It is recommended to enable this for Cortex-M7.
110 * CMSIS-NN is tested on Arm Compiler 6 and on Arm GNU Toolchain.
115 This product confirms to Arm’s inclusive language policy and, to the best of our knowledge, does not contain any non-inclusive language. If you find something that concerns you, email terms@arm.com.
119 For any questions or to reach the CMSIS-NN team, please create a new issue in https://github.com/ARM-software/CMSIS-NN/issues