microTVM: TVM on bare-metal¶
microTVM runs TVM models on bare-metal (i.e. IoT) devices. microTVM depends only on the C standard library, and doesn’t require an operating system to execute. microTVM is currently under heavy development.
microTVM is:
an extension to TVM’s compiler to allow it to target microcontrollers
a way to run the TVM RPC server on-device, to allow autotuning
a minimal C runtime that supports standalone model inference on bare metal devices.
Supported Hardware¶
microTVM currently tests against Cortex-M microcontrollers with the Zephyr RTOS; however, it is flexible and portable to other processors such as RISC-V and does not require Zephyr. The current demos run against QEMU and the following hardware:
Getting Started with microTVM¶
Before working with microTVM, we recommend you have a supported development board. Then, follow these tutorials to get started with microTVM:
Start the microTVM Reference VM. The microTVM tutorials depend on Zephyr and on a compiler toolchain for your hardware. The reference VM is a convenient way to install those dependencies.
Try the microTVM with TFLite Tutorial.
Try running a more complex CIFAR10-CNN model.
How microTVM Works¶
You can read more about the design of these pieces at the microTVM Design Document.
Help and Discussion¶
The TVM Discuss Forum is a great place to collaborate on microTVM tasks, and maintains a searchable history of past problems.