Is TVM applicable for training?

Hi, guys!

I have a newbie question as to the title after reading the TVM paper.

In the paper, I see TVM do both graph-level and operator-level optimizations. These methods are applicable for training. But some other important topics in training are missing such as operator placement, leveraging heterogeneous devices, etc. I also searched for some applications of TVM, and I found most of them are for inference. Also, the experiment part of TVM paper concentrates in inference performance of server-side and embedded devices.

So, I wanna know if TVM is for inference just by design. Or it is also targeting the training part, but not so widely used for some reasons.

Thanks !!

1 Like

I remember reading number of discussions regarding this topic (e.g. Dose TVM support training models?). In general what I understand is that TVM is only for inference.
Although there are some posts here or on GitHub (cannot find it now), that suggests possibility of training, but this is extremely difficult due to missing backprop operations for some nodes etc.

Tvm is only available for inference for the time being.

1 Like

Facebook Team is already doing this job to support TVM in Pytorch Traing Acceleration, refer to:

As i know, Mxnet is also support TVM on Training backend.

It seems the example https://github.com/pytorch/tvm/blob/master/test/benchmarks.py provided in pytorch/tvm project is just for inference, not training.

Does there exist a list of things that are needed before training can be supported well by TVM? If Facebook is working on it, is there a design doc somewhere? I spent a brief time looking around for it but didn’t find it so far.

Hi, I‘m very curious about this repo, but it seems like this repo was abandoned. Could I know what happened? Thank you!