This is an archive of the discontinued LLVM Phabricator instance.

[mlir][sparse] improved testing and codegen for semi-ring operations
ClosedPublic

Authored by aartbik on Jun 16 2022, 12:12 PM.

Details

Summary

The semi-ring blocks were simply "inlined" by the sparse compiler but
without any filtering or patching. This revision improves the analysis
(rejecting blocks that use non-invariant computations from outside
their blocks, except for linalg.index) and also improves the codegen
by properly patching up index computations (previous version crashed).

With a regression test. Also updated the documentation now that the
example code is properly working.

Diff Detail

Event Timeline

aartbik created this revision.Jun 16 2022, 12:12 PM
aartbik requested review of this revision.Jun 16 2022, 12:12 PM
bixia accepted this revision.Jun 16 2022, 3:57 PM
bixia added inline comments.
mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_triangular_bin.mlir
54

s/sign/triangular/

This revision is now accepted and ready to land.Jun 16 2022, 3:57 PM
aartbik marked an inline comment as done.Jun 16 2022, 4:07 PM
aartbik added inline comments.
mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_triangular_bin.mlir
54

good catch!

aartbik updated this revision to Diff 437746.Jun 16 2022, 4:09 PM
aartbik marked an inline comment as done.

fixed typo

This revision was landed with ongoing or failed builds.Jun 16 2022, 4:14 PM
This revision was automatically updated to reflect the committed changes.