CMSIS NN
FreeA collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Cortex-M processor cores.
About CMSIS NN
CMSIS-NN is a software library from Arm that provides a collection of efficient neural network kernels optimized for Cortex-M processor cores. It maximizes performance and minimizes memory footprint for running neural networks on embedded microcontrollers. The library includes functions for convolution, activation, fully-connected layers, SVDF layers, pooling, softmax, and basic math. It supports 8-bit (q7_t) and 16-bit (q15_t) integer data types, and provides three implementation variants targeting processors without SIMD (Cortex-M0), with DSP extension (Cortex-M4), and with MVE extension (Cortex-M55). CMSIS-NN also includes a TFL Micro-compliant API (s8 suffix) that is bit-exact with TensorFlow Lite, enabling seamless deployment of quantized models on Arm Cortex-M devices.
Key Features
Pros & Cons
- Highly optimized for low-power Cortex-M processors, minimizing memory and compute overhead
- Seamless integration with TensorFlow Lite Micro for end-to-end ML workflow
- Open source with permissive license (Arm copyright)
- Supports multiple processor variants with automatic feature-flag selection
- Bit-exact results with TFLite ensure reproducibility
- Limited to Arm Cortex-M processors; not applicable to other architectures or GPUs
- Only integer quantization (q7, q15, s8) supported; no floating-point inference
- Legacy APIs (_q7, _q15) are no longer actively developed
- Requires knowledge of pre-processor macros and hardware features for optimal use