Roadmap Name: microTVM Roadmap
Roadmap Maintainers: @areusch, @denise-k, @mousius
Roadmap Description: This roadmap tracks efforts within microTVM, as well as its feature dependencies within TVM (e.g. autotuning).
How are the tasks tracked in this roadmap grouped together? How can we think about this grouping distinct from those made in other roadmaps?
Tasks in the microTVM Roadmap will generally be grouped together in a similar manner as previous engineering roadmaps used within the microTVM community (2021, 2020), and will be categorized using the themes introduced below.
Large projects (e.g. AutoScheduler support for microTVM, microTVM backends/integrations, etc.) may be split into multiple tangible milestones, and smaller tasks (e.g. writing a schedule template) may be grouped together into a larger task.
Is the proposed roadmap intended to represent a perpetually ongoing set of efforts, or is there an end goal which will close/finalize the roadmap?
The microTVM Roadmap is intended to represent an ongoing set of efforts.
Does the proposed roadmap have any scope overlaps with any existing roadmaps? If so, please list them.
The microTVM Roadmap is intended to capture all efforts within microTVM and related dependencies. Any dependencies of microTVM will be captured in the appropriate roadmap, and linked into the microTVM Roadmap.
List 4-6 proposed “themes” of the roadmap, intended to convey the purpose of the roadmap and the types of tasks that should be added.
One of microTVM‘s competitive advantages over other frameworks is that it’s not owned by a singular ML framework nor hardware vendor. microTVM intends to support inference on devices from any hardware vendor so long as the workload can be modeled in TIR.
In order to enable this, microTVM uses common representations (e.g. Relay, TIR) and frameworks (e.g. Project API, C runtime, Embedded C API, RPC server) which allow everyone to participate and contribute to microTVM.
Robust documentation is a critical prerequisite of enabling users and developers of microTVM of all skill levels. It also facilitates the growth of the microTVM community and the maturity of the technology.
One of microTVM’s biggest goals is to enable as many unique hardware architectures as possible. Tasks categorized as Platform Enablement may either be milestones towards enabling an individual hardware target, or features to improve the enablement process across all of microTVM.
The embedded systems domain has many unique constraints around software packaging which should be addressed in microTVM.
microTVM aims to maximize performance in the embedded systems domain. To achieve this, much of microTVM’s performance infrastructure is inherited from TVM. For instance, microTVM inherits TVM’s ability to autotune computational graphs with schedule templates.