Question about microTVM

Hi, all.

I haven’t paid attention to microTVM for a while. I don’t know what stage it is now. Can anyone share with me the latest developments in microTVM: some RFC(or preRFC) that are being processed or some plans to be carried out.

Thanks again. Expecting someone to answer.

cc @mehrdadh perhaps can give some info

hi @lumos,

A couple of related developments:

  1. We are doing some work to improve the native schedule performance on Cortex-M. There isn’t presently an organized issue for this, but you’ll see PRs from Octo from time to time.
  2. A group of folks is working to bring support for RISC-V to microTVM. See Coordination of RISC-V Integration in TVM.
  3. For heterogeneous systems, the UMA work is helping to make it easier for folks to integrate custom accelerators.
  4. Related to that: there have been some discussions about expanding heterogeneous device support for AOT via adding the ability to call functions running on other devices using the Device API.
  5. Finally, with regards to organization–we are working on an Issue Triage RFC to better sort GH issues within TVM. We think this will in turn help to improve our microTVM roadmap which currently requires a lot of triage work that’s hard to distribute.

Hope this helps–is there an area you’re more specifically interested in learning about?

Thanks, Andrew

3 Likes

hi @areusch , thanks for your reply.

I’m interested in the first job on the list. Some questions about it:

  1. What kind of Cortex-M devices are there? could you give some examples?
  2. I don’t know which work and PRs are from Octo, could you provide links to recent PRs which i can follow up?

Thanks again~

@Lumos apologies for the delay.

You can see a selection of mostly Cortex-M boards we can support via the Zephyr project in boards.json: https://github.com/apache/tvm/blob/main/apps/microtvm/zephyr/template_project/boards.json

(the “board” key corresponds to the Zephyr BOARD cmake define)

Here are a couple example PRs:

Just to clarify, did you want to help here or just interested in following along?

Thanks @areusch .

I would like to confirm that if this work can help microTVM to run ‘larger’ models(eg: mobilenetv2, resnet18)? I remember that microTVM cannot run Mobilenetv2 on STM32F7 board last year (out of memory), if it could, i would more than like to participate.