3 ms·
In some CPU-discussions I continuously see some people still insist Intel beats AMD... because AVX512. But these tests shows minimal difference between AVX2 an
by josteink 7y ago
In some CPU-discussions I continuously see some people still insist Intel beats AMD... because AVX512.
But these tests shows minimal difference between AVX2 and AVX512. So what’s the big deal?
- jiggawatts 7y agoIn current-generation Intel CPUs the use of AVX512 forces a reduction in clock speed, negating much of the theoretical benefits. The clock speed reduction also affects other cores, which may not be executing AVX512 instructions at that time. Code that is nearly 100% AVX512 will get an overall speed boost, but mixed multi-threaded workloads can actually regress in performance. On virtualised or multi-user systems such as Citrix or some database engines this is a serious issue at the moment. This will improve or go away entirely once they're on 10nm or some smaller process. Secondly, the rarity of AVX512 means that few applications take advantage of this instruction set, and those that do have not had anywhere the same level of fine-tuning as the more common AVX2 code. For example, SQL Server recently got vector instruction set support, called "Batch Mode Processing", but I can't find any references to indicate that it uses AVX512, and it probably doesn't. Once AMD supports AVX512, it trickles down to the mainstream CPUs, and the clock speeds are maintained it'll have a significant advantage over AVX2.
- tyoma 7y agoThe big deal with AVX-512 is the scatter-gather instructions, which make it possible to efficiently vectorize different classes of problems. In this particular use case those did not really matter, but when you can use them they really help.