Difference with ONNX

Hi, just learned about TVM and seems like a very interesting project. Does it have similar design goals to ONNX ? i.e: Portability and efficient inference on different target hardwares ? Would be glad to understand if they are located on different layers in the Inference stack, and how their philosophy differs, if at all. I hope question is not too trivial / basic :slight_smile:

Thanks much for any insights.

I believe ONNX is an exchange format to port DL models from one frame work to another. TVM is more like a DL compiler. It compiles the DL model based on different frameworks for different target hardwares. During compilation it also tries to optimize using scheduling and various other techniques. There are many other features associated with TVM like autoTVM, uTVM etc.