eIQ Glow Porting Guide for MCUs

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

eIQ Glow Porting Guide for MCUs

eIQ Glow Porting Guide for MCUs

The eIQ Glow neural network compiler software for i.MX RT devices that is found in the MCUXPresso SDK package can be ported to other microcontroller devices in the RT family as well as to some LPC and Kinetis devices. Glow supports compiling machine learning models for Cortex-M4, Cortex-M7, and Cortex-M33 cores out of the box. 

Because inferencing simply means doing millions of multiple and accumulate math calculations – the dominant operation when processing any neural network -, most embedded microcontrollers can support inferencing of a neural network model. There’s no special hardware or module required to do the inferencing. However specialized ML hardware accelerators, high core clock speeds, and fast memory can drastically reduce inference time. The minimum hardware requirements are also extremely dependent on the particular model being used. Determining if a particular model can run on a specific device is based on:

  • How long will it take the inference to run. The same model will take much longer to run on less powerful devices. The maximum acceptable inference time is dependent on your particular application and your particular model. 
  • Is there enough non-volatile memory to store the weights, the model itself, and the inference engine
  • Is there enough RAM to keep track of the model's intermediate calculations and output

 

The minimum memory requirements for a particular model when using Glow can be found by using a simple formula using numbers found in the Glow bundle header file after compiling your model:

  • Flash: Base Project + CONSTANT_MEM_SIZE + .o object File   
  • RAM: Base Project + MUTABLE_MEM_SIZE + ACTIVATIONS_MEM_SIZE       

More details can be found in this Glow Memory Usage app note.

 

The attached guide walks through how to port Glow to the LPC55S69 family based on the Cortex-M33 core. Similar steps can be done to port Glow to other NXP microcontroller devices. This guide is made available as a reference for users interested in exploring Glow on other devices not currently supported in the MCUXpresso SDK. 


These other eIQ porting guides might also be of interest:
TensorFlow Lite Porting Guide for RT685

Labels (1)
Attachments
No ratings
Version history
Last update:
‎04-19-2022 03:08 PM
Updated by: