LVC21F-319 TVM for micro targets

Session Abstract

Level: Intermediate TVM is an open source machine learning framework for CPU, GPUs, microcontrollers, and various hw accelerators. It basically takes a given ML model as input (it accepts various standard formats, like ONNX, TFlite, and Keras) and generates optimized native code for a given HW target, allowing one to run the input model fast on the specified device/target. In the last LVC2021 at the beginning of this year we've presented the work we had done regarding enabling microTVM (TVM's component used to run TVM on micro targets - i.e. boards running m-series Arm CPUs and other microcontrollers) and TVM CI to support new micro targets, . Hence, in this presentation we would like to show the advances since the last report, particularly about the microTVM support for new micro targets and also about new features added to the TVMC (TVM's cli) to ease working with micro targets. For TVMC we'll present the new 'micro' context which allows one to easily compile a Neural Network, build an image to be flashed to the micro target, flash the image built, and finally run the model in the micro target. To illustrate that new workflow it will be demonstrated how to run a simple NN model on a real (physical) ST dev board using the 'tvmc' cli.

Session Speakers

Gustavo Romero

Linaro, Software Engineer (Linaro)

I'm a FOSS developer primarily focused on kernel and compiler development, bug fixing, and performance. As an OpenJDK committer I spent the last 5 years or so optimizing and enabling the HotSpot JVM for the Power platform. Currently I'm focused on the Apache TVM ML compiler framework, mainly working with the microTVM component for the ARM MCUs.

Level: Intermediate TVM is an open source machine learning framework for CPU, GPUs, microcontrollers, and various hw accelerators. It basically takes a given ML model as input (it accepts various standard formats, like ONNX, TFlite, and Keras) and generates optimized native code for a given HW target, allowing one to run the input model fast on the specified device/target.

In the last LVC2021 at the beginning of this year we’ve presented the work we had done regarding enabling microTVM (TVM’s component used to run TVM on micro targets - i.e. boards running m-series Arm CPUs and other microcontrollers) and TVM CI to support new micro targets, . Hence, in this presentation we would like to show the advances since the last report, particularly about the microTVM support for new micro targets and also about new features added to the TVMC (TVM’s cli) to ease working with micro targets.

For TVMC we’ll present the new ‘micro’ context which allows one to easily compile a Neural Network, build an image to be flashed to the micro target, flash the image built, and finally run the model in the micro target. To illustrate that new workflow it will be demonstrated how to run a simple NN model on a real (physical) ST dev board using the ‘tvmc’ cli.

comments powered by Disqus

Recent Posts

Other Posts

Sign up. Receive Updates. Stay informed.

Sign up to our mailing list to receive updates on the latest Linaro Connect news!