This roadmap for TVM v0.6. 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.
Does runtime for dynamic model refer to the runtime for Relay? Otherwise, we can also add Relay runtime into 0.6 roadmap.
@edmBernard Great to hear that! Added!
@icemelon9 Right, it refers to the runtime for Relay
Cool. @jroesch @zhiics @wweic and I can work on runtime for Relay.
Wish TVM v0.6 can finish this item: https://github.com/dmlc/tvm/issues/2351. i.e. Support importing exist quantization TFLite model. This can be a start for supporting importing existing quantization model (i.e. don't restrict TFLite).
Pass manager for relay, should be able to finish discussion soon, haha
does "graph level automated optimization" mean https://github.com/dmlc/tvm/pull/2184 or something else?
@yzhliu I think so. It is a legacy item from roadmap v0.5
Will work together with @icemelon9 on dynamic runtime.
I think we should also deprecate nnvm fully in 0.6. So far there are still some legacy code in topi depends on nnvm.
Could we also add Any dimension support in Relay to the roadmap? I think it's an important feature to have.
I think official text format support should be part of 0.6. i.e. the parser and printer should be able to support all Relay constructs.
In Feb 2019, we successfully released TVM v0.5 (release notes) and made the roadmap for v0.6.
The community welcomes new Reviewer Zhao Wu (@FrozenGene), Committer Jared Roesch (@jroesch) and PMC member Lianmin Zheng (@merrymercy)
TVM community has voted through Apache Incubation proposal (#2543). Markus Weimer posted a proposal to [email protected] seeking for ideas and suggestions. The official voting is ongoing on general@ right now.
annotation.stop_fusion to prevent it being fused with previous expressions (#2624).batch_matmul supported (#2561).reverse_reshape supported (#2503).yolo_reorg (#1941).slice operator for MXNet (#2662).arange supported (#2621).roi_align (#2618).where operator for MXNet (#2647).HybridModule (#2477) so that normal TVM schedule can be compiled to hybrid target, run and dumped to Hybrid Script.max_num_threads to Hybrid Script, which allows users to get max number of threads for GPU targets (#2672).Thanks Wei @wweic or providing the tools.
We (@yongwww, @zhiics and I) will be providing support for loops and conditionals for the TensorFlow frontend soon.
@jroesch Awesome. Using AOT relay runtime?
@jroesch that's wonderful, very excited to see how that turns out :)
@FrozenGene It uses the interpreter.
@ajtulloch We used something like "pattern matching" to identify the scope/execution frame a control flow op and converted them into Relay recursive call and If constructs. We will send out the PR soon.
@zhiics @jroesch as per community tradition, it would be great to send out an RFC first to describe the proposal of such major change, before we do the PR
@tqchen No worries. We will.
What is the planned release date for 0.6?
There has been quite a lot of improvements recently. While it is up to the community, I think we might be able to get out something around Sep
- [ ] graph level automated optimization
Does it mean traditional fusion / layout transform, or more recent graph substitution like this paper? If the later one, I would like to port my onnx implementation to TVM.
Higher order automatic differentiation was done like half years ago. Please check that.
@MarisaKirisame Checked. I listed it here just because that it did not go into the last release cycle
Hybrid python programming model
transition of vision operators to hybrid mode.
what's plan for this feature?
When will we have 0.6 release ? thanks
Move to #4259
Most helpful comment
We (@yongwww, @zhiics and I) will be providing support for loops and conditionals for the TensorFlow frontend soon.