5 ms·
Congrats to the MLIR team for getting the source out. I know it must have been a lot of work. MLIR seems like (or at least aspires to be once complete) a nice s
by KenoFischer 8y ago
Congrats to the MLIR team for getting the source out. I know it must have been a lot of work. MLIR seems like (or at least aspires to be once complete) a nice step up from LLVM and addresses a lot of the issues that LLVM has around extensibility. Looking forward to see where this goes. In particular, it'll be interesting to see to what extent re-use of passes will work out between dialects in practice.
I'm also looking forward to digging into the polyhedral compilation stuff more. It's about time that somebody attempted a ground up re-think of that, so I'm looking forward to understanding it better. I've talked to Chris a number of times about the rest of the design, but we never got into the specifics of the polyhedral compilation.
That said, I think it's a bit unfortunate that this ended up in TF rather than LLVM. TF of course needs good compiler tech more than most projects at this point, which is why MLIR came from that direction, but MLIR is much more of a general compiler project. I worry that putting in TF will discourage the rest of the ML industry from adopting it as eagerly (everybody is already using LLVM, so that branding would make that much easier). Also, looking at the code, MLIR looks structurally a lot more like an LLVM-heritage C++ project than a TF one (hell, you build it by cloning llvm and putting MLIR in the projects/ directory). Perhaps moving it under the LLVM umbrella is still in the cards - I'll keep advocating for it at least ;).
- chrislattner 8y agoThank you for the kind words Keno. We don't have a great description of what the polyhedral dialect is, but we do have a discussion of what it isn't, here: https://github.com/tensorflow/mlir/blob/master/g3doc/RationaleSimplifiedPolyhedralForm.md https://github.com/tensorflow/mlir/blob/master/g3doc/Rationa... There are other docs in the same directory that you might find interesting. We don't have all the details sorted out, but Google would like to contribute at least some part of MLIR to the LLVM.org project, but you have to ask LLVM for acceptance, and that requires putting the code up somewhere first. All things in time, I hope to catch you at EuroLLVM next week where we are giving the keynote and a tutorial on MLIR. -Chris
- KenoFischer 8y agoYep, I've been reading the docs with great interest. I'm also looking forward to getting the XLA/HLO dialect available. I'm thinking that might be a neat way to get immediate use out of MLIR in the julia world. There's a bunch of extra HLO passes I need to write for TPU performance and I figure might as well try to do that using MLIR. Good to hear that getting this into LLVM is still in the cards - totally understood that there are organizational challenges, just want to keep pushing in the right direction :). My schedule doesn't allow me to be at EuroLLVM this year unfortunately, but I'm sure we'll get an opportunity to catch up before long. Now that MLIR is out it'd be fun to dig in in detail.