You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tvm.apache.org by Zihao Ye <no...@github.com.INVALID> on 2023/04/07 10:15:55 UTC

[apache/tvm-rfcs] [RFC] SparseTIR Dialect (PR #100)

This RFC proposes a plan for integrating SparseTIR as a new dialect into TVM.

- [rendered](https://github.com/yzh119/tvm-rfcs/blob/main/rfcs/0100-sparestir-dialect.md)
- [discussion thread](https://discuss.tvm.apache.org/t/rfc-sparsetir-as-a-new-dialect-in-tvm/14645)
You can view, comment on, or merge this pull request online at:

  https://github.com/apache/tvm-rfcs/pull/100

-- Commit Summary --

  * upd

-- File Changes --

    A rfcs/0100-sparestir-dialect.md (624)

-- Patch Links --

https://github.com/apache/tvm-rfcs/pull/100.patch
https://github.com/apache/tvm-rfcs/pull/100.diff

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

Message ID: &lt;apache/tvm-rfcs/pull/100@github.com&gt;

Re: [apache/tvm-rfcs] [RFC] SparseTIR Dialect (PR #100)

Posted by Junru Shao <no...@github.com.INVALID>.
Merged #100 into main.

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

Message ID: <ap...@github.com>

Re: [apache/tvm-rfcs] [RFC] SparseTIR Dialect (PR #100)

Posted by Zihao Ye <no...@github.com.INVALID>.
Hi @Lunderberg , I've changed the naming of some terms to avoid confusion, don't hestitate to let me know if you have other concerns!

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

Message ID: <ap...@github.com>

Re: [apache/tvm-rfcs] [RFC] SparseTIR Dialect (PR #100)

Posted by Zihao Ye <no...@github.com.INVALID>.
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.

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

Message ID: <ap...@github.com>

Re: [apache/tvm-rfcs] [RFC] SparseTIR Dialect (PR #100)

Posted by Siyuan Feng <no...@github.com.INVALID>.
Thanks @yzh119. This RFC looks good to me. Looking forward to the 100th RFC being merged :)

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

Message ID: <ap...@github.com>