Hacker News new | ask | show | jobs
by Q6T46nT668w6i3m 1141 days ago
I love MLIR. The modularity and friendly abstractions make it incredibly flexible. I've now used it to write _multiple_ domain-specific optimizations and transformations for some of my recent research! It truly bridges the gap between different devices (CPUs, GPUs, TPUs, etc.). I pray more people adopt it so it doesn't end up abandoned!
2 comments

It’s so hard to get a complete environment up and running. I had a 700-level project that was ripe for MLIR, and I just couldn’t figure out all the tools. I ended up managing with just clang.

Much of MLIR requires compiling from source, from what I can tell, and I just could’ve figure out exactly what to build so that I had access to all of the tool chain from clang to MLIR.

this is quickly getting better

>Much of MLIR requires compiling from source, from what I can tell

you can get apt packages from https://apt.llvm.org/ and build projects out of tree. you can also get packages from conda (https://github.com/conda-forge/mlir-feedstock). finally, if you look around on github you'll find tarred up releases too maintained by downstream users (e.g.https://github.com/ptillet/triton-llvm-releases).

you can also (as of very recently) build mlir-opt plugins just like for clang:

https://github.com/llvm/llvm-project/tree/main/mlir/examples...

It definitely seems like an active and vibrant community.

Saw the notes about putting distributions together while I was putzing around.

Part of the issue is that I couldn’t find MLIR-specific packages on Ubuntu jammy. Built-from-source was a different version than the packaged LLVM and clang. I couldn’t find a way to get mlir-translate, for example, without compiling from source.

I’m sure I could have figured it out with enough time, but I was short on time. Hopefully graduate with my master’s on Thursday actually.

Sounds very interesting. Could you explain a bit more what you did and why it was easier with MLIR?