4 ms·
I'm sure AVX-512 is wonderful and you can easily produce examples where it makes loops go N times faster. That unfortunately is missing the point. Microproces
by FullyFunctional 6y ago
I'm sure AVX-512 is wonderful and you can easily produce examples where it makes loops go N times faster. That
unfortunately is missing the point.
Microprocessors implementation is an extremely careful balance and effectively everything is a trade off. The area, power, and complexity of features comes at a non-zero cost to code that doesn't use it.
The fact that AVX-512 isn't on every processor AND the performance benefits are FAR from obvious (as the core clocks down when using it) really hinders its adoption, which in turn lowers the value; a downward spiral.
Intel is in a fine mess of their own making. I'm no fan of either company and AMD gets perhaps a little too much credit as things would have looked a lot different had 10 nm succeeded on the original schedule, but I bought my first AMD processor since Athlon 64 because it's better.
- BeeOnRope 6y agoI'm not missing the point as I was responding to whether AVX-512 is useful in practice. It is. It is some badly designed extensions where the earlier ones were great: it's arguably better than the earlier ones. Now adoption has been poor and there is a chicken-and-egg effect as you point out, but that's separate from the question of whether AVX-512 is useful in practice. It is. The point about tradeoffs is well taken. It's not like Intel (or any other vendor) is rolling back progress in other areas to add larger vector units: rather they try to progress along all viable axes at once.
- FullyFunctional 6y agoSorry if I misunderstood your point. > It's not like Intel (or any other vendor) is rolling back progress Performance doesn't stand still so even if they are improving, they might have improved more having spend the AVX-512 on something else. And most definitely, larger vector unit does cost you somewhere else.
- tremon 6y agoTo me it looks like you and the GP just have different definitions of "in practice". Your definition of "in practice" seems to exclude the (general) availability of these extensions, whereas the GP's definition specifically includes them: if, as a developer, you can't rely on certain features being available, you're forced to optimize for the non-AVX512 case anyway, and any time spent exclusively on AVX512 is additional cost for a small audience. So, whether the instructions themselves are any good then is of secondary concern because of the other problems of Intel's own making, and you both seem to be in agreement about those.
- PaulHoule 6y agoAVX-512 isn't "bad in practice" but in the context of AVX-128, AVX-256, and AVX-1024 it is a very bad practice because the inconstant availability of the vector unit means that it doesn't get used, or you use a least-common denominator of what worked on Atom 10 years ago. Look on the bright side: if you don't use AVX-512 you have 10% extra heat sink and heat soak on your CPU so you can turbo higher. AVX-512 makes the chip easier to cool.
- BeeOnRope 6y agoYes, although this gets better with time. People who care enough to want to use these units have figured out CPU dispatch by now, too.