NMSISNN
Version 1.0.1
NMSIS NN Software Library

This user manual describes the NMSIS NN software library, a collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Nuclei N processor cores.
The library is divided into a number of functions each covering a specific category:
The library has separate functions for operating on different weight and activation data types including 8bit integers (q7_t) and 16bit integers (q15_t). The descrition of the kernels are included in the function description. The implementation details are also described in this paper [1].
The library ships with a number of examples which demonstrate how to use the library functions.
Each library project have different preprocessor macros.
Define macro RISCV_MATH_DSP, If the silicon supports DSP instructions.
Define macro RISCV_NN_TRUNCATE to use floor instead of roundtothenearestint for the computation.
[1] CMSISNN: Efficient Neural Network Kernels for Arm CortexM CPUs https://arxiv.org/abs/1801.06601
[2] Converting a Neural Network for Arm CortexM with NMSISNN
https://developer.arm.com/solutions/machinelearningonarm/developermaterial/howtoguides/convertinganeuralnetworkforarmRISCVwithnmsisnn/singlepage [3] https://www.tensorflow.org/lite/microcontrollers/library
[4] https://github.com/ARMsoftware/NMSIS_5/tree/develop/NMSIS/NN#legacyvstflmicrocompliantapis