I posted a list of MLIR sparse compiler “starter” projects (ranging from simple to hard) on Bugzilla under the SparseTensor dialect component. This list is hopefully in particular useful for applications to the Outreachy internship that want to contribute to this project. But of course, everyone is invited to help out.
I plan to keep this list current as I think of new starter projects. Please talk to me first, though, if you want to work on one, so I can coordinate better between interested contributors.
And just to be clear, drop me an email simply to coordinate ownership of the bugs and avoid conflicting and/or duplicate assignments. After that, we love to see any design brainstorming here on discourse, so that everyone is aware of the progress and can chime in on the discussion!
Additionally, there is an external repo (GitHub - llvm/llvm-test-suite) for llvm test suites which contains microbenchmarks, some example applications to test/benchmark, and external suites like SPEC (which are not included in the test-suite repo). I don’t think this model of having a separate repo for tests is relevant to us for the purposes of this ticket but wanted to mention it.
The entry requests adding such benchmarks to MLIR, which requires
(1) investigating the typical way in which LLVM at large integrates benchmarks
(2) find interesting sparse kernels to implement and measure
(3) integrate such tests in a continuous build (or at least frequently run system)
Do you think we should move on to the step 2 if google/benchmark is the right framework for doing this?
Sounds good to me, although of course we need the usual bike-shedding on where to put benchmarks in the MLIR source tree I think the best course of action right now is to make an initial revision that starts the benchmark, and perhaps post a benchmarking RFC here on discourse (as a new thread) that links to that proposal revision. Adding benchmarks is a pretty big step, and I am sure people want to chime in (but perhaps they are less inclined to read this “sparse compiler starter projects” thread). Sorry for the extra steps, but we need to tread carefully. Once the initial stuff is out of the way, we can go full speed with the fun stuff!
The link in this posting did not age well, since we migrated from Bugzilla to GitHub shortly thereafter.
The new link is GitHub issues labeled with mlir:sparse.