Open nemequ opened 4 years ago
It seems SVE is so far supported as:
Apple M4 - SVE2/SME - details unknown?
Regarding CI: QEMU supports SVE, SVE2 (and even SME) - in all vector lengths from 128-bit to 2048-bit (with 128-bit increments), including the non-power-of-2 ones, which were later disallowed (interesting blog on that link).
Few questions about the "scalable" part of SVE:
Possible answers:
SVE is ARM's "vector-length agnostic" API. AFAICT it's really only available for CPUs geared towards HPC, and not very widely used (yet?), but it works with vector sizes that are a multiple of 128 bits, up to 2048 bits (maybe less on some CPUs, I'm not totally clear on that). It should be possible to use it to implement 256-bit and 512-bit vectors (i.e., AVX and AVX-512).
There is an emulator which we may be able to install on CI (though it's only available on AArch64). If anyone is interested in this please let me know and I'll look into that, but I'd be willing to add SVE without it since at least I can still test locally.
It sounds like SVE is a bit limited so coverage of Intel's APIs may be a bit sparse, but SVE2 is supposed to greatly expand support and implementing SVE would put us in a good position to add SVE2 when it's available.