Hello everyone,
We have reached a very important milestone for targeting Arm's Scalable Matrix Extension (SME) from IREE and I just wanted to share the good news with you :)
Basically, by passing `--iree-llvmcpu-target-cpu-features="+sve,+sme"` to iree-compile, you can compile a linalg.matmul Op to an SME binary. While there's no hardware available today (hopefully that will change soon), you can use an emulator to run it - it just works! (*)
This is huge! While there's a lot of buzz around SME, it also presents some unique challenges when it comes to code generation - two (!) "scalable" dimensions, virtual tile allocation, streaming mode enablement ... IREE and SME have always felt like a great match and now there's some runnable code to confirm that :)
Many thanks for all your support, engaging with our RFCs and all the code reviews!
Have a fantastic festive break,
- Andrzej
(on behalf of the Arm MLIR team)
(*) See e.g.
https://qemu-project.gitlab.io/qemu/system/arm/cpu-features.html. Feel free to ping me if you'd like more help.