Hello, I am also struggling the tvm.transform.Sequential API usage，could you please help me to understand the following code piece ?
# driver/build_module.py下面的_build_for_device函数 opt_mixed += [ tvm.tir.transform.ThreadSync("shared"), tvm.tir.transform.ThreadSync("warp"), tvm.tir.transform.InferFragment(), tvm.tir.transform.LowerThreadAllreduce(), tvm.tir.transform.MakePackedAPI(), tvm.tir.transform.SplitHostDevice(), ] mod_mixed = tvm.transform.Sequential(opt_mixed)(mod_mixed)
Basically my questions are:
- Where is this 2nd paramter mod_mixed passed to in the opt_mixed listed functions? The functions in the list actually does not need this IRModule param as an input.
- When I dump the final output of mod_mixed, it is a IRModule that contains Relay Expressions. But according to the doc, the tvm.tir API is used to convert Relay IR to lower IR right ? So why mod_mixed still contains the Relay Expression.
I guess that I mixed up some understandings, please help, thanks.