Why not for ARM Cortex M-...?

Hi together,

I have no issue actually, rather a question:

Why does this library not support ARM Cortex M-…?

I.e. Arm Cortex-M55 is created for AI and ML use-cases, so actually fits perfectly into the applications for the Compute Library.

What are the reasons for the library restrictions?

Not enough RAM or Flash or Hz or the Neon support?

What are the limitation for Arm Cortex M-…, if Neon is the problem?

I was hoping to generate easy C++ Code from Matlab for a Arm Cortex M4,1MB Flash, 126 Kb RAM.

Is there a way to get a NN running on Arm Cortex M4 other than this Library, i.e. with python and https://github.com/ARM-software/armnn? There is also the hint “Note, Arm NN does not provide support for Cortex-M CPUs”.

Thanks.

Hi Romaxx, the main reason for Compute Library not working on Cortex-M is Neon. However, for AI/ML on Cortex-M you can use Tensorflow Micro or Apache TVM.

Tensorflow Micro can use CMSIS-NN, which is kind of a “Compute Library for Cortex-M” (although the API is different and more embedded focussed). I don’t think TVM has a full integration of CMSIS-NN yet but the performance is already very good.

https://www.tensorflow.org/lite/microcontrollers
https://tvm.apache.org/docs/tutorials/micro/micro_tflite.html#sphx-glr-tutorials-micro-micro-tflite-py