Vypadá to, že nové Atomy z Nova Lake budou nativně podporovat AVX-512
Intel se dlouhá léta snažil prorazit s podporou instrukční sady AVX-512, ale první generace produktů s ní byly poněkud na štíru. U serverových procesorů Intelu znamenalo použití AVX-512 výrazné navýšení energetických nároků, takže pro AVX-512 měly specifikované nižší taktovací frekvence. V praxi se proto vývojáři použití AVX-512 vyhýbali, protože i lehké využití AVX-512 znamenalo podtaktování procesoru a snížení výkonu v ostatním kódu, které bylo často výraznější než přínos nových instrukcí.
Začátky AVX-512 v PC: Cannon Lake, Ice Lake a Tiger Lake
V PC segmentu se Intel dlouho nasazení AVX-512 vyhýbal, protože z důvodu odkladu a problémů s 10nm procesu setrvával u architektury Skylake, která v desktopové podobě AVX-512 neuměla. S novinkou počítaly až architektury určené pro 10nm proces, které však měly zpoždění.
Cannon Lake, první AVX-512-kompatibilní produkt pro PC (Techninsights)
První, Cannon Lake, sice AVX-512 přinesl, ale v podobě mobilního dvoujádrového procesoru s komicky nízkými takty a potřebou samostatného GPU, neboť integrovaná grafika nefungovala (zřejmě musela být vypnuta z důvodu extrémně nízké výrobní výtěžnosti). To k rozšíření AVX-512 nijak nepomohlo, procesor se prodával prakticky kusově.
Dalšími produkty s AVX-512 byl Ice Lake, který se opět nedostal do desktopu a zůstal čtyřjádrovým mobilním procesorem pro úspornější notebooky. Nejinak tomu bylo s následujícím Tiger Lake, který sice zvýšil takty, ale v některých zátěžích ztratil IPC. Později vznikl i mobilní Tiger Lake v osmijádrové podobě, ale ten již dorazil poměrně pozdě, kdy tato generace příliš mnoho zákazníků nezajímala.
Začátky AVX-512 v desktopu: Rocket Lake
Do desktopu Intel dostal AVX-512 s procesorem Rocket Lake, což byl de facto osmijádrový Ice Lake přepracovaný pro starší 14nm proces (10nm stále nezvládal takty obvyklé pro desktop). Energetické nároky a velikost jádra, původně navržené pro menší a úspornější proces, se Intel pokusil zkrotit ořezáním FMA jednotek na polovinu.
Rocket Lake (Shutterstock)
Rocket Lake tak sice AVX-512 přinesl, ale výkonnostně poněkud ořezané (k tomu se ještě vrátíme), s omezenou kompatibilitou (v některých zátěžích je Rocket Lake při použití AVX-512 paradoxně pomalejší než bez něj) a stále vysokými energetickými nároky.
Konec AVX-512 v desktopu i PC: Alder Lake
Fiasko s posledními generacemi 14nm procesorů přimělo Intel přehodnotit přístup k PC trhu a došlo na doplnění velkých jader Atomy. Pomineme-li mobilní Lakefield, který byl skutečným pionýrem tohoto konceptu v řadách Intelu, dostalo se kombinované řešení ve velkém na trh s Alder Lake. Počáteční výhody, zejména v podobě rychlého posunu hrubého vícejádrového výkonu, začaly brzy vyvažovat nevýhody, které recenze a uživatelé postupně odhalovali. Přestože velká jádra Alder Lake (i všech dalších generací) nesla křemík zajišťující podporu AVX-512, v praxi nemohl být kvůli Atomům využit. Po herní stránce zase vyšší latence Atomů brzdily FPS a dlouhé ustrnutí na jedné architektuře přimělo Intel u dalších generací navyšovat takty, čímž utrpěla energetická efektivita a nakonec i životnost výše taktovaných modelů (kauza Raptorgate).
AVX-512 u konkurence: Zen 4 a Zen 5
Mezi tím konkurence (v podobě AMD a architektur Zen 4 a Zen 5, které podporovaly AVX-512 ve všech segmentech) ukázala, že AVX-512 nemusí být kompromisem, který bude mít negativní dopad na takty ani spotřebu a není tak fakticky důvod nemít podporu ve všech segmentech od notebooků přes desktop po servery. Tento přístup vedl k rozšíření softwarové podpory, což - v kombinaci s nástupem AI, která může z 512bit vektorů silně profitovat - znamená, že výrazně vzrostl počet zátěží, kterým podpora AVX-512 přináší výkon navíc. Ten může dosahovat desítek, ale až stovek procent navíc.
Současné výsledky
Když se podíváme na takový typ zátěže na stávajících desktopových procesorech, ukazuje se, že ani nejvyšší desktopový high-end Intelu nedokáže Atomy navíc vykompenzovat výkonnostní ztrátu danou absencí podpory těchto instrukcí. A tak Core Ultra 9 285K končí pod mainstreamovým Ryzen 5 9600X, respektive mezi ním a šestijádrovým Zen 4 (Ryzen 7 7600).
OpenVINO (Phoronix)
Rozšíření s nástupem AI
Přestože primární zátěží, podle které nyní většina uživatelů retail segmentu vybírá procesor, jsou hry, zbývají pracovní zátěže, kterým v poslední době vévodí právě AI. Zatímco se Intel již roky tváří, jako kdyby vůbec nevěděl, že slova jako PC či desktop a AVX-512 mohou figurovat pospolu a někteří skalní fanoušci značky (která se pokoušela AVX-512 do PC segmentu zavést) se snaží smysl AVX-512 v PC segmentu zpochybňovat, samotný Intel to vidí jinak. Po nenápadných náznacích totiž přichází další - a tentokrát již docela zásadní - indicie, že Nova Lake bude AVX-512 podporovat. Vypadá to, že Intel v tichosti na podpoře AVX-512 v PC segmentu (Nova Lake) pracuje, ale příliš nechce, aby se o ní mluvilo, protože by to jistě neprospělo prodejům stávajících modelů.
Atomy s nativní podporou AVX-512!?
Zásadnější informací než že Nova Lake (tedy včetně Atomů) bude AVX-512 podporovat, je fakt, že AVX10.2, které má rovněž podporovat, vypustilo ze specifikací podporu tzv. double-pumped režimu (tedy zpracování AVX-512 ve dvou 256bit cyklech, na 256bit hardwaru, jako to dělá AMD na Zen 4 a mobilních variantách Zen 5).
AVX-512 na vzorku Intel Nova Lake (InstLatX64)
Pokud má Nova Lake podporovat AVX-512 včetně AVX10.2, vyplývá, že i Atomy by měly disponovat nativními 512bit jednotkami. To je překvapivé samo o sobě, protože Intel doposud Atomy (E-Core) chápal jako odlehčená jádra, která si mají vystačit s minimem křemíku, aby se jich do čipu vešlo hodně a mohla zlepšovat poměr vícejádrový výkon na milimetr čtvereční čipu. To se evidentně mění, prioritou Intelu již není zachování nízkého rozpočtu tranzistorů za každou cenu.
Nicméně zvlášť u generace, kde velká jádra neposouvají IPC nijak zásadně a nepodporují ani HT / SMT, se tímto krokem rozdíl mezi velkými a malými jádry dost zásadně stírá. Což by mohlo vysvětlovat, proč Intel cílí ke sjednocení architektur a postupné eliminaci big.LITTLE ve svém dosavadním pojetí.
Nativní AVX-512 ≠ rychlé AVX-512
Přes to všechno se nedá předpokládat, že by Intel vybavil malá jádra takovým způsobem, aby jejich výkon v AVX-512 byla na úrovni jader velkých. Pak by zkrátka výhoda (oproti velkým jádrům) v podobě vyššího výkonu na plochu křemíku padla a malá jádra by nemělo smysl používat.
Je totiž nutné brát v potaz, že nativní podpora AVX-512 ještě nic neříká o výkonu. Neříká nic FMA, ALU, portech a podobně. Jinými slovy, jedna konkrétní implementace nativní podpory AVX-512 nemusí být rychlejší než jiná konkrétní implementace „double-pumped“ (2× 256bit) implementace. Nejde jen o teorii, v praxi to vidíme například při srovnání AVX-512 výkonu „nativního“ Rocket Lake oproti „double-pumped“ Zen 4:
Výkon bez (fialově) a s (červeně) AVX-512 na Rocket Lake (nahoře) a Zen 4 (dole)
(Phoronix)
Zatímco na „nativně-AVX-512“ Rocket Lake v těchto zátěžích výkon po zapnutí AVX-512 stoupl o 15-19 %, v případě „double-pumped“ Zen 4 v identických úlohách stoupl o 80-98 %. Nejde přitom o výběr extrémních výsledků.
Výkon bez (fialově) a s (červeně) AVX-512 na Rocket Lake (nahoře) a Zen 4 (dole)
(Phoronix)
Implementace AVX-512 u Rocket Lake totiž v některých situacích způsobovala zpomalení (viz dvojice grafů výše), takže nebylo možné automaticky očekávat, že využití této instrukční sady povede k výkonnostnímu bonusu.
Jak tedy bude vypadat situace na Nova Lake velmi záleží na tom, jaké jsou cíle Intelu (zda bude AVX-512 na Atomech podporováno jen z důvodu kompatibility, tedy tak, aby formálně podporováno bylo, ale nestálo to moc tranzistorů), nebo bude cílem i nějaký ten výkon.




























