This revision adds support for the linalg.index to the sparse compiler
pipeline. In essence, this adds the ability to refer to indices in
the tensor index expression, as illustrated below:
Y[i, j, k, l, m] = T[i, j, k, l, m] * i * j
Paths
| Differential D121251
[mlir][sparse] index support in sparse compiler codegen ClosedPublic Authored by aartbik on Mar 8 2022, 1:36 PM.
Details Summary This revision adds support for the linalg.index to the sparse compiler Y[i, j, k, l, m] = T[i, j, k, l, m] * i * j
Diff Detail
Event Timelinebixia added inline comments.
This revision is now accepted and ready to land.Mar 8 2022, 3:00 PM Closed by commit rG53cc3a063782: [mlir][sparse] index support in sparse compiler codegen (authored by aartbik). · Explain WhyMar 8 2022, 5:25 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 413929 mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
mlir/test/Dialect/SparseTensor/sparse_index.mlir
mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
|
Can you put a comment to help understand this?
I can see codegen.sparseOut is moved from the callsite to here, so not a real functional change.
But "isreduction" is added in the PR.