Thanks for updating the RFC. Here are some follow-up thoughts:

Usage of `te.AXIS_SEPARATOR`: It seems this is only used in the API side but 
not in `BufferTransform`, would be good to get some clarification. Also I could 
see some tradeoff here that worth discussions:
- T0: using `te.AXIS_SEPARATOR` to separate groups of axes, e.g. `lambda 
m,n,p,q: [m, n, te.AXIS_SEPARATOR, p, q]`. The benefit is writing `m, n` 
directly implies fusion of `m` and `n`.
- T1: each element is the returned array of the lambda is an axis. The benefit 
is that this looks simpler, but when fusion is needed (e.g m, n in the above 
example), we need to manually write down the affine mapping (m * length_of_n + 
n) and make sure it is correct.

The new schedule primitive `buffer_transform`:
>From TIR's perspective, the same primitive can be introduced to TIR as well. 
>It will be an eager transformation (without needing to create 
>`BufferTransform` node)  that rewrite the both producer/consumer immediately 
>upon calling it. This is required if we want to further scheduling the 
>transformed block. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/39#issuecomment-958106273

Reply via email to