Please, why does Ansor not support automatic tuning of the tensor core? I think there should be no problem in the design, but do we need to change more in the implementation?
It’s hard to implement in Ansor because it’s difficult to do pattern marching and tensorization in TE. I would suggest checking meta schedule, which supports tensor core. https://github.com/apache/tvm/blob/main/tests/python/integration/test_meta_schedule_auto_tensorize.py#L351
Thanks for your reply! I will try meta schedule.
I have another question. Do you have any papers or documents on meta schedule for reference? I want to know about the search strategy of meta schedule. Thanks!
Thanks for your reply! And one last question, what are the limitations of TE compared with TensorIR in terms of expression ability? Will TE be completely abandoned in the future? Thanks!
TE cannot express scatter operator.
In the current compilation stack, TE is fully compatible with TensorIR, and you can use create_prim_func to convert Tensor Expression to TensorIR functions.
TE will be used as a higher-level programming interface rather than being abandoned (it’s an option for users to use TE, users can also bypass TE and use TensorIR to write operators directly).
Thanks for all your patient replies!
Out of curiosity, can TE and Ansor realize auto-tensorization if they insist on doing so?
For simple case like GEMM it’s not entirely impossible but would need significant work. For conv, it is hard to implement transformations like im2col automatically in TE schedule. TensorIR is more flexible and we were able to introduce some new schedule primitives for auto tensorization usage.
OK, thanks! By the way, how does TensorIR support dynamic shape now?
TensorIR does not fully support dynamic shape now. It’s not only the problem of TensorIR but also the limitation of the TVM stack. We will start our work for dynamic shape in the near future.
Thanks for your reply! Look forward to your future work!
By the way, when will the version that fully supports Tensor IR be released?
Sorry, I cannot give a specific timeline now. Dyn shape support is a reasearch project, which may face many challenge of uncertainty.
OK. When will 0.10.0 supporting Meta schdule be released?
Meta-schedule is fully functional on mainline
Ok, thanks again, I will try it!