Skip to content

Commit c90d74b

Browse files
authored
Cleanup MLIR project ideas and descriptions
Remove outdated projects (still pending feedback from the mentor about some of the remaining ones)
1 parent 651f895 commit c90d74b

File tree

1 file changed

+12
-22
lines changed

1 file changed

+12
-22
lines changed

website/content/getting_started/openprojects.md

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,22 @@ or on the MLIR channel of the [LLVM discord](https://discord.gg/xS7Z362)
1515
server. The mentors are indicative and suggestion of first point of contact for
1616
starting on these projects.
1717

18-
* Implement C bindings for the core IR: this will allow to manipulate IR from other languages.
19-
* llvm-canon kind of tools for MLIR (mentor: Mehdi Amini, Jacques Pienaar)
20-
* IR query tool to make exploring the IR easier (e.g., all operations dominated
21-
by X, find possible path between two ops, etc.) (mentor: Jacques Pienaar)
18+
* Building an MLIR interpreter (mentor: Mehdi Amini).
19+
At the moment we have constant folding implemented as an eager folding on a per op basis.
20+
This relies on attribute storage and is very inefficient. It also does not mesh well with
21+
control-flow (symbolic execution of a for loop for example). The idea would be to revamp
22+
this to ultimately allow to have features like "constexpr evaluation" of functions in MLIR.
23+
* [llvm-canon](https://llvm.org/devmtg/2019-10/slides/Paszkowski-LLVMCanon.pdf) kind of tool for MLIR (mentor: Mehdi Amini, Jacques Pienaar)
2224
* GLSL to SPIR-V dialect frontend (mentor: Lei Zhang)
2325
* Requires: building up graphics side of the SPIR-V dialect
2426
* Purpose: give MLIR more frontends :) improve graphics tooling
2527
* Potential real-world usage: providing a migration solution from WebGL
2628
(shaders represented as GLSL) to WebGPU (shaders represented as SPIR-V-like language, [WGSL](https://gpuweb.github.io/gpuweb/wgsl.html))
27-
* TableGen "front-end dialect" (mentor: Jacques Pienaar)
28-
* Polyhedral scheduling in MLIR (mentor: Alex Zinenko)
29-
* MLIR visualization (mentor: Jacques Pienaar)
3029
* MLIR sparsifier (aka sparse compiler) [starter tasks](https://github.com/llvm/llvm-project/labels/mlir%3Asparse) (mentor: Aart Bik)
31-
* MLIR allows for representing multiple levels of abstraction all together in the same IR/function. Visualizing MLIR modules therefore requires going beyond visualizing a graph of nodes all at the same level (which is not trivial in and of itself!), nor is it specific to Machine Learning. Beyond visualizing a MLIR module, there is also visualizing MLIR itself that is of interest. In particular, visualizing the rewrite rules, visualizing the matching process (including the failure to match, sort of like https://www.debuggex.com/ but for declarative rewrites), considering effects of rewrites over time, etc. The visualizations should all be built with open source components but whether standalone (e.g., combining with, say, GraphViz to generate offline images) or dynamic tools (e.g., displayed in browser) is open for discussion. It should be usable completely offline in either case. We will be working with interested students to refine the exact project based on interests given the wide scope of potential approaches. And open to proposals within this general area.
32-
* Rewrite patterns expressed in MLIR (mentor: Jacques Pienaar)
33-
* Generic value range analysis for MLIR (mentor: River Riddle)
34-
35-
### Projects started/starting soon:
36-
37-
This is section for projects that have not yet started but there are
38-
individuals/groups intending to start work on in near future.
39-
40-
* [bugpoint/llvm-reduce](https://llvm.org/docs/BugpointRedesign.html) kind
41-
of tools for MLIR (mentor: Mehdi Amini, Jacques Pienaar)
42-
* MLIR visualization, there are some projects in flight but we unfortunately
43-
don't know the project plans of those teams. But if you intend to work on
44-
something in this area it would be good to discuss on the forum early
45-
in case there are collaboration opportunity.
30+
* MLIR visualization (mentor: Jacques Pienaar)
31+
MLIR allows for representing multiple levels of abstraction all together in the same IR/function. Visualizing MLIR modules therefore requires going beyond visualizing a graph of nodes all at the same level (which is not trivial in and of itself!), nor is it specific to Machine Learning. Beyond visualizing a MLIR module, there is also visualizing MLIR itself that is of interest. In particular, visualizing the rewrite rules, visualizing the matching process (including the failure to match, sort of like https://www.debuggex.com/ but for declarative rewrites), considering effects of rewrites over time, etc. The visualizations should all be built with open source components but whether standalone (e.g., combining with, say, GraphViz to generate offline images) or dynamic tools (e.g., displayed in browser) is open for discussion. It should be usable completely offline in either case. We will be working with interested students to refine the exact project based on interests given the wide scope of potential approaches. And open to proposals within this general area.
32+
* Improving [mlir-reduce](https://mlir.llvm.org/docs/Tools/mlir-reduce/) (mentor: Jacques Pienaar, Mehdi Amini).
33+
This tools is basic in its current form and needs investment to make it really useful in practice.
34+
That means developing new reduction pattern and strategies. Possibly interfaces for dialects
35+
to plug into injecting custom logic.
4636

0 commit comments

Comments
 (0)