Diit.cz - Novinky a informace o hardware, software a internetu

AMD s Epyc 9004 zvládla implementaci AVX-512 zvyšující výkon, ne však spotřebu

Jednou z novinek architektury Zen 4 a tudíž i Epyců Genoa je podpora AVX-512. Onehdy kontroverzní technologii zvládla AMD integrovat v podobě, která s sebou nenese žádná negativa…

Podpoře instrukčního setu AVX-512 se AMD dlouhou dobu vyhýbala a skoro to vypadalo, že jej nechá plavat úplně. V profesionálním segmentu (míněno v nejširším pojetí) i bez této instrukční sady překonávala procesory Intelu až v násobcích výkonu a typy úloh, pro kterých Intel před lety podporu AVX-512 zavedl, se dnes z velké části pohánějí specializovanými akcelerátory, často na bázi GPU, které má nyní AMD v portfoliu rovněž.

Druhý důvod, proč (před potvrzením podpory AVX-512 na Zen 4) existovaly pochybnosti, zda AMD podporu této instrukční sady přinese, byla - dá se říci - pověst AVX-512, kterou jí Intel za posledních téměř deset let vytvořil. O AVX-512 se (zprvu neoficiálně) mluvilo zhruba od konce roku 2012. V roce 2013 došlo k odhalení v souvislosti s akcelerátory Xeon Phi Knights Landing (derivát Larrabee), ale s jejich nástupem na trh to bylo složité (pro nepamětníky: trochu připomínající nástup grafických karet Arc).

Intel Xeon Phi - Knights Landing

Většina uživatelů proto začala tyto instrukce vnímat spíše v souvislosti s architekturou Skylake. Postupně ale vyšlo najevo, že je Intel ponechá jako exkluzivní v profesionálním segmentu a to ještě za příplatek. Pouze nejdražší Xeony Platinum a Xeony Gold 61xx podporovaly AVX-512 s plným výkonem. Řady Xeon Gold 51xx, Silver a Bronze pouze s omezeným. Desktopové procesory nenabízely podporu vůbec, ač po hardwarové stránce možná byla.

Xeony Bronze a Silver podporoval AVX-512 při odlišném výkonu než Xeony Platinum.
U řady Gold podle konkrétního modelu.

To trochu přispělo ke klasické problematice: Vejce nebo slepice? Pokud totiž není široce rozšířená platforma podporující určité instrukce, většina vývojářů s jejich implementací neztrácí čas, protože se dotknout zanedbatelného minima uživatelů. Pokud na druhé straně není dostatek aplikací těžících z podpory nových instrukcí, postrádá jejich podpora na hardwaru smysl, protože to nepřináší téměř žádnou výhodu.

Cannon Lake skončil v podobě jednoho modelu mobilního dvoujádrového procesoru vyrobeného z várky vzorků s nefunkční integrovanou grafikou. K rozšíření AVX-512 proto nepřispěl.

Zlepšit se to mělo s nástupcem Skylake, architekturou Cannon Lake, kde se od Intelu očekávala podpora AVX-512 i v PC segmentu. Jenže nastaly problémy s 10nm výrobou, Cannon Lake se odkládal a na trh místo něj proudily 14nm deriváty Skylaku (samozřejmě bez AVX-512). Nakonec se Cannon Lake dostal na trh v sérii dvoujádrových vzorků, kde bylo AVX-512 skutečně na ozdobu (rozšíření do aplikací nemohlo přispět).

Xeon Knights Landing

Dalším problémem byla naprostá roztříštěnost podpory. Připomeňme si naší přehledovou tabulku z počátku roku 2015:

 Skylake
desktop
Skylake
Xeon
CannonlakeKnights
Landing
Haswell
SSE
SSE2
SSSE3
SSE4.1
SSE4.2
FMA3
FMA4
AVX
AVX2
AVX512F
AVX512CDI
AVX512PFI
AVX512ERI
AVX512VLI
AVX512BW
AVX512DQ
AVX512IFMA52
AVX512VBMI
SHA
AES

Zatímco celé portfolio Intelu instrukce jako AVX2, SSE4 nebo FMA4 prostě buďto podporovalo nebo nepodporovalo, u AVX-512 to bylo složitější. To uměl desktopový Cannon Lake, ono zase Knights Landing, tamto třeba Skylake. Ale jen serverový, aby to nebylo jednoduché.

Jeden z Xeonů Skylake-SP vybavený rozhraním OmniPath

Podpora AVX-512 na Xeonech Skylake přitom byla sama o sobě bizarní. Krom toho, že různé modely instrukce podporovaly s různým výkonem a krom toho, že chyběla podpora některých, které uměla i PC-verze Cannon Lake, znamenalo použití AVX-512 podstatné snížení taktovacích frekvencí procesoru a podstatné zvýšení odpadního tepla. Takty Xeonů při AVX-512 klesaly zhruba na 1500 MHz pro základní takt a zhruba o 500 MHz v turbu. Pokud tedy na systému běželo více úloh a zatoulala se mezi nějaká podporující AVX-512, snížilo to výkon (takty) i všem ostatním.

V roce 2020 přišel Linus Torvalds s kritikou Intelu zaměřenou de facto na to, že namísto toho, aby tranzistory použila k navýšení počtu procesorových jader, ze kterých by profitovali všichni, dostupný budget využívá k podpoře AVX-512, jejíž přínos je pochybný. Tehdy začal šéf grafické divize Intelu Raja Koduri AVX-512 široce obhajovat (těžko říct, proč právě on), aby v zápětí vyšlo najevo, že Intel s podporou AVX-512 v desktopu v podstatě končí.

K dohnání výkonnostního deficitu totiž musel do PC procesorů zahrnout malá jádra (Atomy) a ty AVX-512 nepodporují. Intel nedokázal situaci vyřešit jinak než vypnutím instrukcí (nepodporovaných Atomy) i na velkých jádrech. Po dlouholeté marketingové masáži o důležitosti podpory AVX-512 ji tak na hardwaru (jenž jí umí) z vlastního rozhodnutí vypnul.


V podstatě všechny události, které se AVX-512 od ohlášení až do roku 2022 týkaly, vyznívaly více nebo méně negativně. Produkty, které AVX-512 podporovaly, trpěly propady výkonu, vyšší spotřebou, vyšším zahříváním a ještě byly za příplatek. V takové situaci jistě pro marketing AMD nebylo nijak snadné vyjít s vlastní implementací AVX-512 na světlo. Nakonec k ní však došlo. Nemá cenu chodit kolem horké kaše:

Redakce webu Phoronix připravila rozsáhlá devítistránkový test AVX-512 Epycu Genoa (9004 / Zen 4) a její závěry mluví samy za sebe:

Dobrou zprávou je, že ani při obrovském výkonnostním nárůstu při použití AVX-512 nebyl zaznamenán žádný významný nárůst spotřeby EPYC 9654 2P. Je zajímavé, že po zapnutí AVX-512 se v krátkých okamžicích nečinnosti mezi jednotlivými testy nebo mezi různými benchmarky byla spotřeba dokonce nižší, než když byl AVX-512 vynuceně vypnutý. V některých lehčích pracovních zátěžích vykazovalo použití AVX-512 také nižší spotřebu energie než zátěž bez AVX-512.

--- Phoronix

Pokud si projdete desítky grafů a zátěží v recenzi, zjistíte, že skutečně nedochází k významnějším nárůstům spotřeby a občasné kosmetické nárůsty jsou více než vykompenzovány ještě častějšími poklesy.

Na rozdíl od starších generací procesorů Intel s podporou AVX-512 nedocházelo u procesoru EPYC 9654 při všech těchto pracovních zátěžích s podporou AVX-512 ke zvýšeným teplotám ani ke zhoršení frekvence procesoru.

--- Phoronix

Phoronix neznamenal ani zvýšení spotřeby nebo snížení taktů, které by po zapnutí AVX-512 bylo možné pozorovat.

Stejně jako v případě dříve zveřejněných výsledků AVX-512 u procesorů Ryzen 7000 jsou výsledky AVX-512 u EPYC 4. generace "Genoa" úžasné a jsou jedním z důvodů obrovského generačního posunu oproti AMD EPYC 7003 Milan(X) a velmi dobrých výsledků proti současným procesorům Intel Xeon Scalable "Ice Lake".

--- Phoronix

V situaci, kdy všechny modely podporují AVX-512 na stejné úrovni a zapnutí instrukce neznamená ztrátu taktovacích frekvencí (tzn. výkonu u zátěže, která AVX-512 nepodporuje), nárůst spotřeby ani zvýšení teplot a její podpora na druhé straně znamená bonus v serverech, desktopu (a velmi brzy) i v noteboocích, v podstatě není důvod AVX-512 nechtít.

Zdroje: 

Diskuse ke článku AMD s Epyc 9004 zvládla implementaci AVX-512 zvyšující výkon, ne však spotřebu

Sobota, 24 Prosinec 2022 - 15:03 | Emenems | Je to spravna cesta? Pro servery ok.
Pátek, 23 Prosinec 2022 - 15:18 | Kutil | Evidentně to AMD zvládlo lépe než Intel.
Pátek, 23 Prosinec 2022 - 10:16 | Emenems | Ani AMD to nema zadarmo, narust poctu tranzistoru...
Čtvrtek, 22 Prosinec 2022 - 23:35 | Kutil | Právě to že Intel udělal 512 bitů širokou...
Čtvrtek, 22 Prosinec 2022 - 20:29 | Emenems | Tu hednotku by to chtelo, nebo rozsirit stavajici...
Čtvrtek, 22 Prosinec 2022 - 20:28 | Emenems | Raja to zvladne, je to vykuk! ;-)
Čtvrtek, 22 Prosinec 2022 - 17:34 | lubo76 | Ktorú revíziu?
Čtvrtek, 22 Prosinec 2022 - 16:34 | no-X | No a v kterých odvětvích, krom neuronových sítích...
Čtvrtek, 22 Prosinec 2022 - 15:56 | Derryk | Nadpis: "AMD s Epyc 9004 zvládla...
Čtvrtek, 22 Prosinec 2022 - 15:40 | xR | Úplně jiné použití. AVX512-BF16 je pouze pro...

Zobrazit diskusi