I’m pretty confused about the relationship between the Halide IR, TIR, Relay IR and NNVM. What’s the difference between them?
At present, which kind of IR is used in the computation Graph of the tvm? And which kind of IR is used when lowering? Maybe both of them are using Relay IR?
Thanks! It seems the TVM has two level IR, Relay IR(higher pass, replacing nnvm) and TIR(lower pass, replacing Hailde IR). Is that right?
Thanks again!
Relay is used to do “graph” (or full program level optimization) and TIR is used to do imperative loop optimization for (mostly) dense linear algebra kernels.