Hi, I’m new to TVM and ML system development. I am recently investigating how to add an operator (following this tutorial: Adding an Operator to Relay — tvm 0.13.dev0 documentation). I have a simple (perhaps noob) question in my mind: Will TVM optimize operators that are newly added by developers? I’m not familiar with TVM internal optimization techniques, so I ask for help here.
We can suppose I want to implement a cumulative product operator. Will TVM automatically optimize this operator as a primitive operator in the computation graph? Or TVM may see it as a combination of multiple off-the-shelf primitive operators and still possible to take apart it for optimization?
I would like to know more about the implementation details of TVM’s optimization. Could someone give me a hint of which part of its source code I should look at?
Thank you so much!