[DISCUSS] TVM Core Strategy for Emerging Needs

This is not part of the strategy but useful to have a background context, so we bring it as part of this thread.

Possible Timeline to Release TVM Unity

As of now tvm unity is being developed as a branch in the tvm project. Because of the level of new features being brought in, as well as the ML/AI landscape shift we are at. It is best to view unity as a major change in terms of the set of approaches to reflect the trends in AI/ML ecosystem.

As per our past approach, we would like to take a good amount of time here for us to have a sufficient understanding discussion about our overall technical strategy. In the meantime, we would also like to do it in a timely fashion without draining extra energy from the community, since foundational models, as per our recent survey, are a strong need by more than 90% of the community members and are something we would like timely support.

Likely, we will look at Nov and Dec timeframe, so we get at least one month plus the past year’s effort of bringing awareness of unity. Please bring up a discussion thread, ask questions, and let us continue to answer possible questions. We also welcome ideas about other concrete action items we can take to empower foundational models in a timely fashion.

Given the change here and different views in the community, we still view unity as a revolution with impact minimization in mind. There are several ways we can bring unity into a release while acknowledging the revolutionary nature of the change.

  • T0: Directly release from the unity branch, and effectively make the unity branch a product branch, this would require majority of community’s support.
  • T1: Change the current codebase main to the unity branch, ensuring the main modules are incorporated. This would requires the “codebase replacement” process, and would take 2/3 majority support.
  • T2: Bring tvm unity as a separate product, that is different from the tvm product.

If there is no majority community support, but a still a significant set of community members who would like to take the new philosophy, a common course of action in OSS ecosystem is to enable T2.

Considering the current level of support, likely T1 is the most practical approach that allows us to empower the needs of foundational models timely. Of course the final decision would fall into the community itself.

Minimizing impact of using unity branch to users The community has take great amount of effort to minimize disruption. Specifically, roughly weekly the changes in main are bought via git merge into the unity branch. If you are using the current features, directly use unity branch likely will continue to work as these modules are preserved.

Engage in unity and related discussions There has been a lot of amazing discussions over the past one year around what we can enable. We would love to welcome community members to continue discussions, bring up concrete ideas on how can we enable emerging needs together.

8 Likes