Hi, below are my notes from the Vector Dialect Roundtable at EuroLLVM 2025 in Berlin.
It was a rather focused session with a smaller group - we mostly discussed several already ongoing areas of work.
-
@KFAF brought up this thread in the context of
Vector. Although the example is vector-related, the underlying issue is broader, so we only touched on it briefly. -
We also revisited the RFC to generalize tiling interfaces to operate on
ShapedType. For the Vector dialect+type, we noted that there is currently no iteration-space-specific abstraction or bufferization support, which may complicate things. I also pointed out that with scalable flags (to support scalable dimensions),VectorTypeis quite different fromShapedTypein practice. The current thinking is to simply relax the tiling API to allow downstream users to re-implement what’s needed (see the RFC for details). It also seemed like some folks weren’t aware of the “vector unrolling” capabilities — please check out-test-vector-unrolling-patternsif curious! -
Another topic was the boundary between the Vector and Tensor dialects/types — this remains somewhat unclear, and we’ll need to keep engaging with the broader community to clarify it. In the meantime, please refer to FAQ - MLIR.
-
On the question of restricting 0-D vectors, progress is pending a counter-proposal from @Groverkss. There’s tentative agreement to revisit this at the April 29 MLIR Open Design Meeting, which will be hosted by the Tensor Compiler Design Group — to be confirmed.
-
Another topic briefly explored was the idea of vectorizing
scf.parallel(prototyped by @Hardcode84 downstream). IIRC, this would be somewhat akin to SLP vectorization in LLVM? While definitely interesting, we couldn’t identify immediate use cases — but if this sounds relevant to your work, you know who to ping
Btw, many of these topics are also mentioned in the “WIP” Vector (re-)design document:
As a next step, I’ll be reviewing that doc with the Tensor Compiler Design Group and starting to implement relevant parts of the plan.
As always, feedback is most welcome — and please let me know if I missed or misinterpreted anything. Also, feel free to post your notes in the replies.
Thanks again to those who joined!
-Andrzej