This is an archive of the discontinued LLVM Phabricator instance.

[mlir][sparse] Updating sparse-compiler pipeline for python usage
ClosedPublic

Authored by wrengr on Jan 31 2022, 2:45 PM.

Details

Summary

Explicitly nests passes for FuncOp, adds more options to the sparse-compiler pipeline, and updates python integration tests. This should be sufficient to close https://github.com/llvm/llvm-project/issues/51751

Diff Detail

Event Timeline

wrengr created this revision.Jan 31 2022, 2:45 PM
wrengr requested review of this revision.Jan 31 2022, 2:45 PM
aartbik added inline comments.Feb 1 2022, 1:47 PM
mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
52–78

do we have use cases for these options?

if not, I would be okay keeping this revision smaller and only add what you need?

mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
122

not now, but probably in a later phase, let's move all those identical sparse compilers into a single place

wrengr updated this revision to Diff 405100.Feb 1 2022, 2:20 PM
wrengr marked an inline comment as done.

removing vector-to-scf options

mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
52–78

I haven't seen any uses in the testsuite so far, but wasn't sure if that was an oversight or not

aartbik accepted this revision.Feb 1 2022, 3:20 PM
This revision is now accepted and ready to land.Feb 1 2022, 3:20 PM
wrengr updated this revision to Diff 405742.Feb 3 2022, 12:14 PM

rebase to resolve conflicts with D118648

Are you waiting for us, or are you ready to commit this?

mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
175

maybe we can call the second part "vectorization_options" and assign it before this, simply to make the functionality read easier.

also okay to do this in follow up revision where we share all the "SparseCompiler" classes between tests

I was just waiting for the buildbot to finish, since I had to rebase it yesterday morning