You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2021/11/02 19:36:05 UTC

[GitHub] [tvm-rfcs] vinx13 edited a comment on pull request #39: [RFC][TIR] Layout transformations on buffer access

vinx13 edited a comment on pull request #39:
URL: https://github.com/apache/tvm-rfcs/pull/39#issuecomment-958106273


   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. I can follow up implementing it in TIR later


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org