Some basic questions related to training, qualtization and backends

Hi Community members,

I am quite new to TVM and have some very basic questions. I have gone through the documentation available on the web-page but still few things are not clear to me. So I am asking on thing discussion forum. Sorry for any trivial question which you may feel.

  1. Does TVM support training or it is currently for inference and training will be added in future ?

  2. Does TVM support quantization as well ?

  3. In case of opencl or cuda backend, does we get llvm as IR generated somewhere ? I read somewhere that LLVM is generated for CPU like x86/ARM/AMDGPU and source code is generated for opencl/CUDA. So if I want to see what all optimization happened for OpenCL backend where should I see that ?

Thanks,

Tarun

  1. TVM training support is on the roadmap, but it is not fully supported yet (search for automatic differentiation in the PRs).

  2. TVM (Relay) does now have a quantization pass that works out-of-the-box on some popular models such as ResNet for INT8.

  3. You can view the optimizations at the TVM IR level by looking at the templates in topi/python/topi/rocm, or by printing the source after optimization and lowering as shown in this example (search for “inspect the generated code”).