I’ve submitted an MLIR round table for discussing core issues in the the ecosystem, but now I’m beginning to think there may be just too many topics for a single round table. So I’d like to outline some of my concerns here and see if there’s anyone else with further concerns / topics, so that we can request fewer tables for the intersection of all topics.
The topics I wanted to cover were:
- Cost model, target description, heuristics & ML-guided strategies for optimization and code generation in the MLIR ecosystem.
- Order of passes and pipeline composition: how to describe dependency, invalidation, canonical forms.
- Packing vs. tiling: Graph compiler shape prediction vs. MLIR compiler tiling. Who needs to know what the optimal shape is and how do we use the existing passes?
- Linalg as the core transformation dialect: How far can we go with interfaces (into other linalg-like dialects)?
- Linalg named op semantics: implicit vs. explicit, op vs. attribute, generalization guarantees. Can we mandate semantics to be equivalent to generalization?
- Linalg de-generalization: Tree-like pattern matchers, canonicalization, semantics guarantees.
I know others also want to talk about:
- Ingress story:
torch-mlir
should be the seed for our discussion into how we define ingress, even from other front-ends. - Transform schedules: how to compose, execute, fail & retry, diversify, search schedules, compare performance/gain, re-order.
- ML-guided: How to inject ML predictions / embedding information into the compiler pipeline, and how to use profile info / traces to train models on the compilation process.
- Device lowering from MLIR: CPU/GPU dialects, SPIRV/LLVM, canonical lowering, required support from existing dialects/lowering.
- Dialect completeness: How do we deal with dialects that are half-baked, undefined, blocking/redirecting progress?
After writing all these, I’d be surprised if we can find less than 4 sub-groups in there with enough time to discuss all of that… Not to mention if people have even more topics…
@nicolasvasilache @ftynse @stellaraccident @mehdi_amini @nhasabni @aniragil @martin.luecke @asiemien @chelini @Groverkss @TobiasGrosser @michel-steuwer @albertcohen @Jianhui-Li @etiotto @whitneywhtsang @tonic