Commit 55ec7f4
committed
Format and Buffer data structure (#1)
[SparseTIR] Constructors and Python Interface for `Axis` and `SparseBuffer` (#2)
* add methods for Object
* axis constructors
* methods for SparseBuffer
* put into registry
* python interface
[CherryPick][Intrinsic] lower_bound and upper_bound for binary search in Sparse TIR. (apache#483) (#4)
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* codegen-rule
* upd
* upd
* test
* upd
* fix
* two arguments
Co-authored-by: Zihao Ye <expye@outlook.com>
Fix AxisTree (#3)
* fix axis tree
* upd
[SparseTIR] Add SparseBufferLoad/SparseBufferStore (#5)
* Add dtype for SparseBuffer
* Add name for SparseBuffer. Remove `ndim`
* Remove namespace sparse
* Add SparseBufferLoad/Store
* Add method `ndim()`
[SparseTIR] Introduce SpIterVar (#6)
* [SparseTIR] Introduce SpIterVar
* Add conversion to PrimExpr
[BugFix] Fix binary search & SpIterVar (#7)
[BugFix] Add field `is_reduction` for SpIterVar (#9)
* [BugFix] Add field `is_reduction` for SpIterVar
* Formatting
[SparseTIR] Index Lowering (#8)
* Add StmtFunctor/ExprFunctor for SparseBufferStore/Load
* Add basic index lowering
* Finish index lowering (maybe)
* Address comments
* Convert CRLF to LF
Frontend update, demo scripts. (#10)
* Format and Buffer data structure (#1)
* [SparseTIR] Constructors and Python Interface for `Axis` and `SparseBuffer` (#2)
* add methods for Object
* axis constructors
* methods for SparseBuffer
* put into registry
* python interface
* [CherryPick][Intrinsic] lower_bound and upper_bound for binary search in Sparse TIR. (apache#483) (#4)
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* codegen-rule
* upd
* upd
* test
* upd
* fix
* two arguments
Co-authored-by: Zihao Ye <expye@outlook.com>
* Fix AxisTree (#3)
* fix axis tree
* upd
* Format and Buffer data structure (#1)
* [SparseTIR] Constructors and Python Interface for `Axis` and `SparseBuffer` (#2)
* add methods for Object
* axis constructors
* methods for SparseBuffer
* put into registry
* python interface
* fix axis tree
* upd
* Format and Buffer data structure (#1)
* [SparseTIR] Constructors and Python Interface for `Axis` and `SparseBuffer` (#2)
* add methods for Object
* axis constructors
* methods for SparseBuffer
* put into registry
* python interface
* [CherryPick][Intrinsic] lower_bound and upper_bound for binary search in Sparse TIR. (apache#483) (#4)
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* codegen-rule
* upd
* upd
* test
* upd
* fix
* two arguments
Co-authored-by: Zihao Ye <expye@outlook.com>
* Fix AxisTree (#3)
* fix axis tree
* upd
* [SparseTIR] Add SparseBufferLoad/SparseBufferStore (#5)
* Add dtype for SparseBuffer
* Add name for SparseBuffer. Remove `ndim`
* Remove namespace sparse
* Add SparseBufferLoad/Store
* Add method `ndim()`
* Format and Buffer data structure (#1)
* [SparseTIR] Constructors and Python Interface for `Axis` and `SparseBuffer` (#2)
* add methods for Object
* axis constructors
* methods for SparseBuffer
* put into registry
* python interface
* [CherryPick][Intrinsic] lower_bound and upper_bound for binary search in Sparse TIR. (apache#483) (#4)
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* codegen-rule
* upd
* upd
* test
* upd
* fix
* two arguments
Co-authored-by: Zihao Ye <expye@outlook.com>
* Fix AxisTree (#3)
* fix axis tree
* upd
* [SparseTIR] Add SparseBufferLoad/SparseBufferStore (#5)
* Add dtype for SparseBuffer
* Add name for SparseBuffer. Remove `ndim`
* Remove namespace sparse
* Add SparseBufferLoad/Store
* Add method `ndim()`
* [SparseTIR] Introduce SpIterVar (#6)
* [SparseTIR] Introduce SpIterVar
* Add conversion to PrimExpr
* [BugFix] Fix binary search & SpIterVar (#7)
* [BugFix] Add field `is_reduction` for SpIterVar (#9)
* [BugFix] Add field `is_reduction` for SpIterVar
* Formatting
* upd
* upd
Co-authored-by: Ruihang Lai <lairuihangdongdong@qq.com>
[SparseTIR] SparseBlock on C++/Python side (#11)
* Fix a bug in the last commit
* SparseBlock on C++ & Python side
[BugFix][SparseTIR] TVMScript Parser for Axis & SpIterVar (#12)
* Update `cord` and `pos`
* Fix `idtype`
* Formatting..
* Bug fix 1
* Move new special stmts
* Parser for Axis and SpIterVar
* Fix context_maintainer.py
[SparseTIR] Enhance SparseBlock to contain enough PrimFunc information (#13)
* Enhance SparseBlock to have enough PrimFunc info
* Remove `func_sparse_buffer_map_`
* Don't print the map uh-huh
[SparseTIR] Parser, Printer, Roundtrip (#14)
* SparseBlock scope handler (part 1)
* SparseBlock scope handler (part 2)
* SparseBlock scope handler (part 3)
* SparseBlock scope handler (fix 1)
* Add SparseBufferLoad/Store on Python side
* Parser for SparseBufferLoad/Store
* Add SparseBlock to Python __init__
* StmtFunctor for SparseBlock
* Ensure at least one dimension for SparseBuffer
* Make `axis` field of SpIterVar mandatory
* SparseBlock scope handler (fix 2)
* Update Axis syntax by removing `name` parameter
* Move to intrin.py
* Add filed `from_sparse` to DenseFixedAxis
* SparseTIR script printer
* Roundtrip test
* `update_symbol` bug fix
* Fix attr visit in SparseBuffer
* Define then compare in SparseBlock
* Fix printer bug for SparseBuffer
* Enable graph match for Axis and SparseBuffer
* Complete HashReduce and EqualReduce for AxisTree and SparseBuffer
* Fix typo
* Rename test
* Bug fix 1
* Bug fix 2
* Add more tests
Move tests (#15)
[SparseTIR] ReprPrinter for Axis and SpIterVar (#16)
upd (#17)
flatten (#18)
ELL and BSR correctness test scripts (#19)
[SparseTIR] SparseTIR Lowering (#20)
* Fix a previous bug of sparse-fixed SpIterVar creation
* Fix a previous bug in `GetDenseValue`
* Refactor Collector and IndexTransformer
* Construct block and loops
* Fix a previous bug which rejects DV iters in collector
* Update buffer map
* Create root block
* Fix bug of sparse-fixed SpIterVar creation
* Fix bug on SpIterVar conversion (with refactor)
* Fix bug when getting dependent SpIterVars
* Fix bug on dependency map and index lowering
* Full block read/write region
* Test version 1
* Fix bug of loop order
* Fix bug of batch-mm iterator ordering
* Update PrimFunc args to use symbolic params
* Fix bug of test "csr_element_wise"
* Fix bug of index accumulation for sparse-fixed axis
* Update correctness test
* Test structural equality
* Refactor and use Array
fix nnz cols
Add docstring for sparse tir lowering (#21)
* add docstring
* upd
Add more examples part 1 (sddmm) (#22)
* upd
* upd
* upd
[SparseTIR][Schedule] SparseBlockRV, GetSparseBlock, SparseReorder (#23)
* Test initialization
* Fix a stupid bug of ReprPrinter
* Add SparseBlockRV
* Schedule: GetSparseBlock
* Schedule: Reorder
[SparseTIR][Schedule] GetSpIters (#24)
remove hybrid script for successful compilation
Add atomic intrinsic for output nonzero inference. (#25)
* upd
* upd
Add "sparse" block attribute. (#26)
Revert "remove hybrid script for successful compilation"
This reverts commit eebd7c1.
[SparseTIR] Hack `IsAffineBinding` check (#27)
* [TensorIR][Schedule] Inherit block anotation upon creating new blocks
* Fix SDDMM test
* Hack IsAffineBinding for sparse blocks
Axis Dependency Tree aware code-gen and bmm example (#28)
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* remove redundancy
* fix
* upd
* upd
Re-design Indices lowering (#29)
* upd
* upd
* upd
* upd
* upd
* init
* format
* fix
* revise coding-style
* format
Complete indices lowering (#30)
* upd
* upd
* upd
* done
* upd
* passed test
* upd
Add more docstrings and depress warnings for new lowering algorithm. (#31)
Refactor derived axis, frontend support of fusion. (#32)
* upd
* upd
* fix
Fatal bugfix and change the signature of DenseVariableAxis. (#33)
Syntax simplification (#34)
Change the order of generated blocks for block isolation. (#35)
* upd
* upd
* upd
Syntax of AttachAxis for BMM (#36)
* upd
* upd
* upd
[SparseTIR] Add "square sum" lowering test (#37)
* Add square sum test
* Remove pylint comment
[BugFix] Fix offset caching in lowering (#38)
* Hack compact dataflow check in a dirty way
* Add two-K square sum test
* Mark skipped tests
* Fix offset saving in lowering
Fusion syntax fix + SDDMM example. (#39)
Some structure change on update offsets. (#40)
[Refactor] SparseTIR Lowering (#41)
* Take out methods in Scope
* Refactor
* Refactor "match"
* Tweak scope contents
* Refactor ViewIndexInAxis
* Refactor Scope
* SDDMM tests under implementation
* Refactor block stack
* Use Map for var_map
* Extract NeedCreateNewBlock
* Simplify SpIterVarToIterVar via GetIterExtent
* Refactor NeedCreateNewBlock
* Add docstring
* Use "auto" correctly
* Minor refactor and use some move
Remove redundant analyzers (#42)
Support indices lowering for attach and fuse. (#43)
* upd
* upd
* upd
Fix irregular BMM example. (#44)
* upd
* upd
* upd
* upd
RGCN forward and butterfly pattern example. (#45)
Fused SDDMM example. (#46)
* upd
* wip
* fix
Fix sparse reorder after refactor (#47)
[Refactor] Refactor Unittest (#48)
* upd
* remove redundancy
[Unittest] Correctness test for benchmarking scripts (#49)
Bugfix and more test for axis fusion, new workload (#50)
* upd
* upd
upd1 parent 6931872 commit 55ec7f4
File tree
57 files changed
+6240
-23
lines changed- include/tvm/tir
- schedule
- python/tvm
- script
- tir
- tir
- schedule
- transform
- src
- printer
- target/source
- literal
- tir
- ir
- op
- schedule
- analysis
- primitive
- transforms
- tests/python
- sparsetir
- unittest
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
57 files changed
+6240
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
494 | 494 | | |
495 | 495 | | |
496 | 496 | | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
497 | 512 | | |
498 | 513 | | |
499 | 514 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
643 | 644 | | |
644 | 645 | | |
645 | 646 | | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
646 | 699 | | |
647 | 700 | | |
648 | 701 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| 122 | + | |
122 | 123 | | |
123 | 124 | | |
124 | 125 | | |
| |||
165 | 166 | | |
166 | 167 | | |
167 | 168 | | |
| 169 | + | |
168 | 170 | | |
169 | 171 | | |
170 | 172 | | |
| |||
217 | 219 | | |
218 | 220 | | |
219 | 221 | | |
| 222 | + | |
220 | 223 | | |
221 | 224 | | |
222 | 225 | | |
| |||
264 | 267 | | |
265 | 268 | | |
266 | 269 | | |
| 270 | + | |
267 | 271 | | |
268 | 272 | | |
269 | 273 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
820 | 820 | | |
821 | 821 | | |
822 | 822 | | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
823 | 855 | | |
824 | 856 | | |
825 | 857 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
88 | 110 | | |
89 | 111 | | |
90 | 112 | | |
| |||
143 | 165 | | |
144 | 166 | | |
145 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
146 | 174 | | |
147 | 175 | | |
148 | 176 | | |
| |||
188 | 216 | | |
189 | 217 | | |
190 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
191 | 224 | | |
192 | 225 | | |
193 | 226 | | |
| |||
524 | 557 | | |
525 | 558 | | |
526 | 559 | | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
527 | 583 | | |
528 | 584 | | |
529 | 585 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
165 | 172 | | |
166 | 173 | | |
167 | 174 | | |
| |||
0 commit comments