simde
simde copied to clipboard
AVX-512 VNNI functions
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#avx512techs=AVX512_VNNI
For current progress, see https://github.com/simd-everywhere/implementation-status/blob/main/x86.md#avx512_vnni
Hi, I was planning on taking a look at this issue next. I Was going to implement the functions along the lines of what's described here: https://en.wikichip.org/wiki/x86/avx512_vnni using madd and maddubs.
Let me know if there are any other considerations.
It kind of depends on what you want to get out of the exercise. If you just want to add basic support, an implementation like madd/maddubs would work well enough and I'd certainly be happy to accept the patch.
If you're trying to get a bit more out of this then these functions are actually a really good learning opportunity if you'd like to put in a bit more time and effort. I'd still suggest starting with a basic implementation of one or two functions, but then there are some interesting opportunities for creating more optimized composable implementations of some of the operations this function performs internally that aren't part of the ISA extensions.
These are done! https://github.com/simd-everywhere/implementation-status/blob/main/x86.md#avx512_vnni