1. Packs
  2. CMSIS-NN

Change Log

Version 5.0.0: Nov. 22, 2023

Get Pack
      The following are the updates compared to previous release in [CMSIS-NN v4.1.0](https://github.com/ARM-software/CMSIS-NN/releases/tag/v4.1.0)
      * Improved read efficiency in FC for MVE extension.
        * This also means FC and SVDF calculate kernel sums in prepare phase before actual inference, and because of this there may be an increase in memory usage for certain models.
      *  Packed int4 kernel support in FC, convolution and DW convolution for scalar version and DSP extension.
      * Scalar/base support for new operator Transpose convolution.
      * Extended unit test coverage.
      **Full Changelog**: https://github.com/ARM-software/CMSIS-NN/compare/23.08...v5.0.0

Version 4.1.0: May 17, 2023

Get Pack
      The following are the updates compared to previous release in [CMSIS-NN v4.0.0](https://github.com/ARM-software/CMSIS-NN/releases/tag/v4.0.0)
      * Improvements in LSTM, generic convolution, 1xN convolution, DW convolution and FC for MVE extension.
      * Improvements in LSTM, generic convolution and int8/int16 elementwise mul for DSP extension.
      * Script to extract model hyperparameters.
      * Get size of buffers on host to support TVM use case.
      * Dependency to CMSIS-Core is removed. CMSIS-NN can be built without including any other CMSIS module.
      * A new DS_CNN_S model unit test is added that is used in End-to-End benchmark [AudioMark](https://github.com/eembc/audiomark).
      * Extended unit test coverage.
      * Potential out of buffer write in SVDF state data.
      * Fix selection of correct int16 DW Convolution function.
      * Workaround for a GCC 12.2 Internal Compiler Error affecting MVE.
      * Fix error in buffer size calculation of DW Convolution wrapper for int8.
      * Fix 'asm operand has impossible constraint' error for certain combination of GCC compiler related to MVE optimizations.

Version 4.0.0: Nov. 17, 2022

Get Pack
      The following are the updates compared to previous release in [CMSIS 5.9.0](https://github.com/ARM-software/CMSIS_5/releases/tag/5.9.0)
      The return type of all API's that returned a status is now changed. CMSIS-NN used error codes from CMSIS-DSP in the form of enum 'arm_status'. This is now replaced by enum 'arm_cmsis_nn_status'. The status values are still the same. It is reccomended that users change the return type in their applications.
      Neural Network(NN) operators which do not follow the quantization specification of TensorFlow Lite for Microcontrollers is removed. Existing users can use CMSIS 5.9.0 release to continue using it.
      As a consequence of this, the data type aliases q7_t, q15_t, q31_t and q63_t are replaced by int8_t, int16_t, int32_t, int64_t respectively.
      Scalar implementation of LSTM with unit tests. We plan to add optimizations for DSP extension and Multi Vector Extension(MVE) in the next release.
      These are new optimizations to existing operators.
      - DSP extension optimization for int16 average pooling
      - MVE optimization for int16 max and average pooling
      - MVE optimization for int16 add and mul
      - MVE optimization for int16 fully connected
      - MVE and DSP extension optimization for int16 depthwise convolution
      - MVE and DSP extension optimization for non-unity stride 1x1 convolution
       - 3x3 depthwise convolution for DSP extension
       - 1x1 convolution for MVE