apache / tvm

Open deep learning compiler stack for cpu, gpu and specialized accelerators
https://tvm.apache.org/
Apache License 2.0
11.75k stars 3.47k forks source link

[ROADMAP] TVM v0.8 Roadmap #7434

Closed tqchen closed 2 years ago

tqchen commented 3 years ago

This roadmap for TVM v0.8. TVM is a community-driven project and we love your feedback and proposals on where we should be heading. Please open up discussion in the discussion forum as well as bring RFCs.

Feel free to volunteer yourself if you are interested in trying out some items(they do not have to be on the list).

Please also check out the help wanted list in the github issues on things that need help in the 0.8 cycle, we are going to focus on the following four areas. Which are summarized from the forum discussion.

We also welcome contributions along all the other areas, including more operator and model coverages, and they will be added to this list gradually. Please reply to this thread about things that are being worked on but missing.

We are looking at April, May timeframe for this release

Core Compiler

Usability, Importers and Relay

Coverage

Backends and Runtime

Automation

tqchen commented 3 years ago

cc @apache/tvm-committers

binarybana commented 3 years ago

I personally would like to see a TVM 1.0 release following the 0.8 release. Where 0.8 is the last set of big features before we as a community focus on stabilization of core APIs, semantics, and testing processes for 1.0 hopefully landing towards the end of this year (2021).

Why am I mentioning this as part of the 0.8 roadmap? Because if the community wants to do 1.0 after 0.8, then it might change what features we want in 0.8 and when 0.8 occurs.

Also, a quick note: I'm not saying that experimental features wouldn't come out as part of TVM 1.0 or beyond, but they would be clearly marked as experimental or contrib and as part of the 1.0 release definition, we would have a clear stabilization process and criteria.

tqchen commented 3 years ago

Thanks @binarybana for bringing that up. I also agree that we should start to think about 1.0 around the end of the year. That could imply that we want to have a stronger focus on stablization, documentation in the later part. Would certainly be great to consider this possibility during planning.

binarybana commented 3 years ago

Also under coverage I'd like to see an entry for Leveraging ONNX test suite for more thorough testing and op support report generation.

monklof commented 3 years ago

Mentioned in https://discuss.tvm.apache.org/t/guideline-relay-aot/5977

We would like to see the “Fully Featured Relay AOT” feature in V0.8

Is there any plan on the “Fully Featured Relay AOT” Compiler?

We have a dynamic-shaped model, which is memory-intensive (the execution time of a single operator is short), the vm’s approach is hard to meet our performance requirements, the overhead is too large compared to the operators execution time.

So, we want a solution to minimize the overhead introduced by the extra code related to shape calculation and memory management.

AOT solution sounds like a good choice, since we can inline the computation related to shape calculation and eliminate the overhead related to interact with the VM.