Hi community,

Happy new year!

After reading the 
[inferbound_tutorial](https://tvm.apache.org/docs/dev/inferbound.html#), I'm 
quiet confused about the effect of the passdown domain. And I'm sorry that I 
didn't get the point neither after reading the code.

If there's a compute op in one state, we get one compute relation, such as 
split. Then we use the leaf nodes' range and the relation information to 
compute the iter root node's range of this state.

***Why not set the leaf nodes of this state immediately, but re-compute the 
leaf nodes' range according to the relation by passdown domain?***

I guess, there might be a situation that the leaf nodes' ranges are overlaped, 
so we need to passdown domain. Take the split node as an example. 

Iter X is a split node which factor is 3, and it split to two axis(Xi in [0, 5] 
and Xo in [3, 6]). Then X's range is [0, 23]. But we need to set the outer iter 
axis to [0, factor] and the inner iter axis to [0, ceil_div(extent, factor)]. 
Then the X.inner is [0, 3], X.outer is [0, 8].

But I never met such condition and I'm not sure if my guess is correct. It 
might be other reasons that we need to recalculate the range of the child node 
after infer root bound.

If there are any problems in my understanding, please feel free to point it 
out. 

Thanks for your time!

Pei Mu





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/why-need-passdown-domain-after-inferrootbound/9152/1)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/aed2dae7c0ae78fef1f869d775717bac679162ec367b861cdc614eeb60c1e096).

Reply via email to