yzh119 commented on PR #100: URL: https://github.com/apache/tvm-rfcs/pull/100#issuecomment-1500595981
Hi @Lunderberg , thanks for your suggestions. I think one point I need to emphasize is that the three constructs **Axes**, **Sparse Buffers**, **Sparse Iterations** are new data structures and do not change existing `block`/`buffer` data structures. The expressions written under the body of **Sparse Iterations** have different semantics to expressions under **blocks**, which works on coordinate space instead of position space, see section 3.3 in [our paper](https://dl.acm.org/doi/pdf/10.1145/3582016.3582047), so we don't need to think about their physical layout in the view of TensorIR blocks/buffers, the compiler passes would transition the semantics. One design principle of SparseTIR is that we progressively lower the high-level IR, and transform SparseTIR data structures to TensorIR data structures: in `lower_sparse_iter` we convert **Sparse Iterations** to loops/blocks, and in `lower_sparse_buffer` we convert **Sparse Buffers** to buffers, and we don't want to deal with the case that **Axes** are used in blocks, which will change the existing infrastructure. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
