Intel has several ISA SIMDs such as SSE, AVX, AVX2, AVX-512, and IMCI on Xeon Phi. These ISAs are supported on different processors. For example, AVX-512 BW, AVX-512 DQ and AVX-512 VL are only supported on Skylake, but not on Xeon Phi. AVX-512F, AVX-512 CDI, AVX-512 ERI and AVX-512 PFI are supported on both Skylake and Xeon Phi.
Why isnβt Intel developing a more versatile SIMD ISA that can run on all of its modern processors?
In addition, Intel removes some features and adds new ones when developing ISA. Many guts have many tastes. For example, some work with packed 8-bit, and some work with packed 64-bit. Some flavors are not widespread. For example, Xeon Phi will not be able to handle packed 8-bit values. However, Skylake will have this.
Why is Intel changing its embedded SIMD in such an inconsistent manner?
If SIMD ISAs are more compatible with each other, existing AVX code can be ported to the AVX-512 with much less effort.
source share