6 ms·
> The problem is that AVX-512 isn’t a singular instruction set. Different CPUs support different sets of AVX-512 instructions, meaning the instruction set on th
by paulmd 3y ago
> The problem is that AVX-512 isn’t a singular instruction set. Different CPUs support different sets of AVX-512 instructions, meaning the instruction set on this AMD CPU might not match what our servers support anyway. Fortunately the common instructions are still useful.
People tend to overstate the complexity of AVX-512 though. Chronological order of feature introduction isn't how the product was actually introduced, since client, server, and Xeon Phi have all followed their own independent development process.
No product segment has ever regressed AVX feature support under Intel (other than the obvious rugpull at the end with Alder Lake).
Alder Lake is a strict superset of Tiger Lake, Tiger Lake is a strict superset of Ice Lake, Ice Lake is a strict superset of Cannon Lake, Cannon Lake is a strict superset of Skylake-X.
(Rocket Lake is technically Ice Lake/Sunny Cove backported to 14nm, and its direct product predecessor is Skylake-X not Tiger Lake, which never was officially released on desktop.)
Sapphire Rapids is a strict superset of Cooper Lake, Cooper Lake is a strict superset of Cascade Lake, Cascade Lake is a strict superset of Skylake-X/Skylake-SP.
For Xeon Phi, Knights Mill is a strict superset of Knights Landing. And you completely don't need to care about it unless your employer ends in "national labs".
Again, the thing to remember is that dev teams at Intel have been very siloed for a long time, and between 10nm delays, 14nm capacity shortages, server delays, etc, it has been a long time since any of the product teams hit their chronological roadmaps. So the point in time when any product segment rolls out a uarch generation is very hit-or-miss (Golden Cove was 12th-gen/Alder Lake on desktop but is only releasing in Sapphire Rapids servers this year), and client and server are also diverging somewhat in featureset.
(early 14nm didn't go well for Intel either - it's really been a rough decade for them, they have absolutely spun their wheels and barely managed to get product out the door for a long time now.)
But there is never a case where you take a given server/client product segment and drop in the newer thing and regress a feature (up until the final rugpull with Alder Lake). It's just different progression levels of the "common core" as you advance through uarch generations/Coves, and then server/client having a few different things bolted on the sides (but they've never regressed these things).
It's true though that AMD didn't quite do the same extensions as Intel either. But they're a lot closer to Alder Lake ("supports everything", until it didn't) than not. And this is simply part of developing a new standard - AMD had some with SSE4.x and 3DNow! that didn't pan out either.
I did this chart a while ago based on taking the chronological ordering of the features and rearranging them based on the series they were introduced. Sapphire Rapids isn't quite right, it wasn't on the chart at the time so I added it, and it doesn't support VAES/VP2INTERSECT after all but you can see the monotonic capability progression pretty clearly. If you order it by product generation, it's way less intimidating than people make it.
https://i.imgur.com/2HLrIjr.png https://i.imgur.com/2HLrIjr.png
- jcranmer 3y ago> No product segment has ever regressed AVX feature support under Intel (other than the obvious rugpull at the end with Alder Lake). You can really extend this a bit further: very few x86 ISA features have been dropped by newer processors. The complete list of such features as of Raptor Lake is MPX, TSX (including hardware lock elision), SGX, Branch Monitoring Counters, and Power Aware Interrupt Routing, with an additional asterisk on AVX-512. There is also talk of a future processor dropping support for 16-bit stuff so that you can no longer run Windows 3.1 on your machine without full-on emulation. The asterisk with AVX-512 is that processors with P cores and E cores don't support AVX-512, whereas the P core lineage did support AVX-512 (and in early Alder Lake steppings, you could enable support for AVX-512 if you disabled all the E cores).
- adrian_b 3y agoAlso the branch direction hints of Pentium 4 have been dropped. Several AVX-512 instruction groups of Knights Mill/Knights Landing have been dropped, like also the complete 512-bit instruction sets of Knights Corner and of Knights Ferry, but these have never been mainstream.
- adrian_b 3y ago> No product segment has ever regressed AVX feature support under Intel Actually it appears that AVX-512 VP2INTERSECT, which has been introduced by Tiger Lake (and which is not supported by Zen 4) has been deprecated and it will be missing from future Intel CPUs. This will not be a loss, because even on Tiger Lake alternative instruction sequences could perform the same operation faster.