Support for Matrix Extension

Stéphane Dubedat stephanedubedat666 at gmail.com
Fri Nov 19 15:18:01 UTC 2021


Intel next server CPU iteration Sapphire rappids will introduce a new x86
extension name AMX.
This potentially disruptive extension allows for hardware accelerated SIMD
Matrix operations!
https://fuse.wikichip.org/news/3600/the-x86-advanced-matrix-extension-amx-brings-matrix-operations-to-debut-with-sapphire-rapids/
https://en.wikichip.org/wiki/x86/amx

Note that ARM also has an analogue extension:
https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/scalable-matrix-extension-armv9-a-architecture

So
1) The vector API should expose an explicit API for leveraging those new,
majorly useful, SIMD instructions
2) The JVM/Vector API could leverage sometimes those instructions
automatically even when not specified by the user, if supported at runtime
and detecting patterns of matrices operations?

Maybe this could be useful for more things that matrix operations such as N
dimensional arrays in general? ->
https://github.com/eclipse/deeplearning4j/tree/master/nd4j
Ndarray are very useful as can be seen by their widespread use on the
Python ecosystem through Numpy
see also this SIMD version https://github.com/JetBrains-Research/viktor


More information about the panama-dev mailing list