Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Release] v0.8 Release Planning #8976

Closed
junrushao opened this issue Sep 10, 2021 · 23 comments
Closed

[Release] v0.8 Release Planning #8976

junrushao opened this issue Sep 10, 2021 · 23 comments

Comments

@junrushao
Copy link
Member

junrushao commented Sep 10, 2021

Thanks to everyone who contributed in the past cycle! We would love to use this thread to plan for the v0.8 release. The community has always been focusing on high quality releases. This process can take several weeks according to past releases, to allow us to collectively work together on items and track things that needs to be merged.

In the next few days we will be populating the release note in this thread. Most release note content will be derived from our monthly report.

@vinx13 and I volunteered to manage the release, and @icemelon and @yzhliu will mentor us as PMC members.

Please don't hesitate to share your thoughts :-)

@leandron
Copy link
Contributor

Thanks for doing this work! There were some items listed on #7434, perhaps we can start with those?

@Hzfengsy
Copy link
Member

Thanks for the work. I believe v0.8 is a good chance to land TensorIR scheduling (#7527). Also, I will try my best to contribute some initial TensorIR tutorials and documentations before the v0.8 release.

@comaniac
Copy link
Contributor

Agree with @leandron that we could firstly refer to the items there. Many "initial" features in v0.7 are now stable. For example:

  • Initial automatic scheduling support -> stable.
  • Initial command line driver interface -> stable.
  • Intial Hexagon support -> stable.
  • Bring your own codegen (BYOC) support -> now we have several backends.
    • [stable] NVIDIA TensorRT, Xilinx Vitis-AI, ARM compute library, ARM Ethos-N, etc.
    • [experimental] TBA.

@junrushao
Copy link
Member Author

I wanted to propose as a highlight the TE-level auto-differentiation work, lead by @yzhliu, which unlocks TE-level training capability in the TVM stack

@tristanqiu8
Copy link

Expecting the new release!

@FrozenGene
Copy link
Member

Agree with @leandron that we could firstly refer to the items there. Many "initial" features in v0.7 are now stable. For example:

* Initial automatic scheduling support -> stable.

* Initial command line driver interface -> stable.

* Intial Hexagon support -> stable.

* Bring your own codegen (BYOC) support -> now we have several backends.
  
  * [stable] NVIDIA TensorRT, Xilinx Vitis-AI, ARM compute library, ARM Ethos-N, etc.
  * [experimental] TBA.

Does our hexagon support is stable now? I am not sure about it. As I saw we still pull requests actively(like #8986 to support model lauch). I think the status maybe is still not stable. @kparzysz-quic should give more definitive answer

@kparzysz-quic
Copy link
Contributor

Hexagon support still needs more work.

@areusch
Copy link
Contributor

areusch commented Sep 20, 2021

Just checking--by "stable" for the "command line driver interface," does that mean "someone should write a script and presume we won't change the command syntax?"

For µTVM we could add:

  • microTVM Project API -> initial support
  • microTVM AOT executor -> initial support
  • microTVM platforms: Zephyr, Arduino -> initial support

I'd like us to avoid using "uTVM" to refer to microTVM in the release notes and just spell out the word "micro" instead. While u is still a common abbreviation for mu, it's not necessarily widely known. We've renamed most occurrences of uTVM inside the codebase to avoid confusion.

@junrushao
Copy link
Member Author

junrushao commented Oct 3, 2021

@vinx13 and I spent the previous 2 weeks categorizing the 69 pages of changelogs via git commits: https://docs.google.com/document/d/1D2rig32yZ4H48_tXHb_svnPnt4-FRx3JUbBxKyrW_-I/

Below are the categories we are using:

  • TE, TIR, TVMScript
  • AutoTVM, AutoScheduler, Meta Schedule
  • Operator Coverage
  • Training
  • Relay
  • MicroTVM, AOT, Graph Executor and VM
  • Arithmetic Analysis
  • Frontends
    • PaddlePaddle
    • ONNX
    • TensorFlow, TFLite
    • PyTorch
    • MXNet
    • Misc
  • Codegen Backends and Runtime
    • LLVM
    • ROCm
    • Vulkan, SPIR-V
    • Metal
    • OpenCL, VTA, Vertilator
    • CUDA
    • ARM
    • Hexagon
    • WASM
    • C
  • BYOC Integration with Vendor Libraries: TensorRT, ACL, VitisAI
  • TVMC
  • Rust and Other Language Binding
  • Documents, Tutorials
  • CI, Docker, Build, Test
  • Misc
    • RPC
    • Target
    • Community
    • Other changes

Please feel free to suggest in the doc if there is any mistake :-)

@areusch
Copy link
Contributor

areusch commented Oct 19, 2021

@junrushao1994 what's the status of the release? is there a list of issues that need to be resolved before we cut?

also cc @denise-k @Mousius @mbs-octoml

@junrushao
Copy link
Member Author

junrushao commented Oct 27, 2021

@areusch thanks for asking! sorry I was in vacation by the time of the post.

@vinx13 and I are actively drafting a release note, and will cut a release candidate by next Monday (Nov 1, 2021); After that, there is an extra week for feedbacks (until Nov 8, 2021).

If there is any small commit after Monday that needs to be included in the RC, please let us know in this thread, as long as it's not a last minute breaking change

@Mousius
Copy link
Member

Mousius commented Oct 29, 2021

@junrushao1994 does this mean that 0.8 will go out with half finished implementations for things, such as library integrations (i.e. CMSIS-NN) and tvmc arguments (tvmc is not yet stable as there's breaking changes incoming)? If the process is just to take main and tag it, can we rapidly move to focusing on a 0.9 release with a list of issues as suggested by @areusch so we can work towards stability in a 1.x release.

@jiangjiajun
Copy link
Contributor

Hi, @junrushao1994
I think we could add paddlepaddle frontend as a new feature in the release note of v0.8

@junrushao
Copy link
Member Author

@jiangjiajun Sure! We will list experimental paddlepaddle frontend support as a separate category and a highlight of this release

@junrushao
Copy link
Member Author

@Mousius Thanks for asking!

does this mean that 0.8 will go out with half finished implementations for things, such as library integrations (i.e. CMSIS-NN) and tvmc arguments (tvmc is not yet stable as there's breaking changes incoming)

Yes, we directly cut main into the v0.8 branch: https://github.com/apache/tvm/tree/v0.8. We do not have to announce the features that are not complete yet, and if there is any major bugfixes, it should be backported to the v0.8 branch.

can we rapidly move to focusing on a 0.9 release with a list of issues as suggested by @areusch so we can work towards stability in a 1.x release.

I agree. Hopefully we will have a more automatic release process with the help from @denise-k :-)

@junrushao
Copy link
Member Author

junrushao commented Nov 1, 2021

Hi all, we cut a v0.8 release branch for Apache TVM: https://github.com/apache/tvm/tree/v0.8. Please find:

There have been tens of commits since last time we categorized the commits, and @vinx13 is actively working on adding them into our changelog. Update: done

Please let us know if we missed anything or need any tweak on wording/categorization on the release note!

@junrushao
Copy link
Member Author

Also, if there is any bug/issue blocking the release, please don't hesitate to let us know in this thread :-)

@junrushao
Copy link
Member Author

junrushao commented Nov 2, 2021

Blocker: We need this bugfix in to address a regression #9421

Update: fixed

@Lyken17
Copy link
Contributor

Lyken17 commented Nov 6, 2021

Blocker: Conv2dTranspose currently does not support groups. But groups is popularly used in recent efficient models and Conv2dTranspose is an important operator in GAN related applications.

Will try my best to fix the problem this week.

Update

Fixed and merged through #9465

@junrushao
Copy link
Member Author

The release is cut and is available for test in https://github.com/apache/tvm/tree/v0.8

@junrushao
Copy link
Member Author

junrushao commented Nov 10, 2021

Blocker #9486 Unblocked

@gyzou
Copy link

gyzou commented Nov 24, 2021

When would 0.8 stable release be? Estimatedly, days, weeks, months?

@junrushao
Copy link
Member Author

The release candidate v0.8.rc0 is approved:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests