Intel Nova Lake přece jen dostane AVX10, APX a dokonce i AMX?

V uplynulých dnech se objevily informace, podle nichž by procesory Nova Lake neměly poskytovat nové technologie APX a AVX10, které se od nich očekávaly podle zpráv, které jsme měli předtím. To, že Intel zatím v dokumentaci o těchto novinkách mlčí, by ale nemusel být definitivní konec, jak jsme upozorňovali. A teď skutečně svitla naděje, že přes „ohlušující ticho“ by v příští generaci CPU Intel tyto novinky nakonec být mohly.

Současná skepse ohledně toho, že by procesory Intel Core Ultra 400 „Nova Lake“ mohly dostat instrukce AVX10/AVX-512 a rozšíření APX, zavládla proto, že v dokumentech Intelu a v patchích pro překladač LLVM/Clang jsou aktuálně seznamy instrukčních rozšířeních pro tato CPU, které tyto novinky nezahrnují. InstLatX64, odborník na různá instrukční rozšíření procesorů x86, ale teď upozornil na to, že jinak je to v projektu NASM, což je assembler pro procesory x86. Podobně jako u překladačů jsou pro tento nástroj podrobnosti o podporovaných instrukcích důležité. A NASM má v kódu již také podporu procesorů Nova Lake odhalující jimi podporovaná rozšíření.

AVX10 a AVX-512

Kód NASM 3.01 v tuto chvíli ukazuje, že Nova Lake má podporu všech SIMD instrukcí AVX-512, které podporují procesory Xeon 6900P „Granite Rapids“ a které tvořily sadu označovanou v předchozích roadmapách Intelu jako AVX10.1. Nova Lake ale bude přidávat řadu dalších rozšíření AVX-512 a AVX10, které celkově jsou zahrnuté pod označení AVX10.2 (v dokumentech a kódu se také používá zápis AVX10_2). V krátkosti to znamená, že podle kódu NASM v procesorech Nova Lake jak AVX-512, tak AVX10 bude.

Intel u AVX10 původně chtěl prosazovat zjednodušenou verzi s jen 256bitovými registry a tím pádem jen 256bitovou šířkou zpracovávaných SIMD vektorů, která by nebyla kompatibilní s 512bitovým AVX-512. Nedávno ale firma oznámila, že tento plán zrušila. AVX10 místo toho bude vždy mít 512bitové registry. Jádra CPU, která budou chtít ušetřit na tranzistorech a spotřebě, budou tyto 512bitové operace zpracovávat ve dvou průchodech podobně jako třeba architektura Zen 4 od AMD, ale z pohledu programátora se nic nezmění. Je pravděpodobné, že jádra v Nova Lake budou AVX10 implementovat takto, s 256bitovými vykonávacími jednotkami.

Pro praxi jde možná i o lepší přístup než SIMD instrukce s variabilní délkou jako je RVV u RISC-V a SVE u Armu. Ty sice dovolují teoreticky zvětšit šířku vektoru u budoucích CPU na mnohem větší šířku, ale v praxi to firmy nedělají, takže procesory Arm mají stále jen 128bitové SIMD jednotky proti 256bitovým a 512bitovým u x86 procesorů. A variabilita vývoj softwaru spíše komplikuje, přičemž kód kvůli abstrakcím nemusí být tak efektivní jako u AVX-512.

U SIMD instrukcí obecně platí, že čim širší je zpracovávaný vektor, tím větší výkon tyto instrukce mohou přinést – 256bitový SIMD jednotka dokáže za cyklus zpracovat dvojnásobek výpočtů proti 128bitové. V softwaru škálování nemusí být perfektní, protože větší počet operací nemusí program být schopen efektivně využít. Obecně ale širší SIMD instrukce jako je AVX-512 a AVX10 představují potenciál pro zlepšení výkonu jádra CPU proti jádru, které má SIMD jednotky užší a tím méně výkonné.

Procesor Intel Granite Rapids ukázaný Intelem. Všechny menší součástky mimo čipletů ještě nejsou osazené (Autor: Intel)
Procesor Intel Granite Rapids ukázaný Intelem. Všechny menší součástky mimo čipletů ještě nejsou osazené (Autor: Intel)

AMX?

Vedle AVX10 kód NASM procesorům Nova Lake připisuje také některé instrukce AMX, tedy rozšíření pro maticové výpočty (které se týkají zejména aplikací neuronových sítí neboli umělé inteligence). To je zajímavá novinka, teprve ale uvidíme, jak kompletní tato podpora bude a jak dobrý výkon budou tyto instrukce na jádrech procesorů Nova Lake podávat.

Nějaká forma maticových instrukcí má být v budoucnosti pro x86 procesory od Intelu i AMD standardem, takže Nova Lake se už možná na tuto budoucnost připravuje.

APX

A mezi podporovanými rozšířeními je uvedené i rozšíření APX, tedy nový režim vykonávání kódu, který dává programu k dispozici více obecných registrů, což architekturu x86 o něco přiblíží k tomu, co poskytují procesory RISC (zůstane jí však nevýhoda spočívající v proměnné délce instrukcí).

NASM pro procesory Nova Lake předpokládá přítomnost rozšíření APX, AVX10_2, AVX10_VNNI_INT, AMX_FP8, AMX_TF32, AMX_COMPLEX, AMX_AVX512, AMX_MOVRS. Je ale třeba říct, že i zde je šance, že nejde o definitivní informace a teoreticky mohou být v budoucnu aktualizované, ovšem v tomto případě tak, že zmínky o podpoře nových technologií zmizí. Osobně bych byl spíš optimista a předpokládal, že tyto instrukce jsou pro Nova Lake skutečně v plánu, jen je Intel z nějakých důvodů opatrný a nechce je veřejně potvrdit dopředu. NASM je ale softwarový projekt, který má mezi vývojáři a správci oficiálně i zaměstnance Intelu, takže je dost pravděpodobné, že kód je napsán podle dokumentů, které jsou zatím tajné a dostupné jen pod NDA.

Nelze ale vyloučit opak. Tedy že nějaké problémy při vývoji, nebo například to, že byla zrušena původní 256biová verze AVX10 a Intel tak musí jádra CPU adaptovat na plné 512bitové registry ZMM, opravdu vedly k tomu, že podporu těchto nových instrukcí bylo třeba odpískat. V takovém případě by jejich příchod byl odložen na některou z následujících generací (Core Ultra 500 „Razer Lake“ nebo Core Ultra 600 „Titan Lake“).

Procesory Intel Nova Lake by měly vyjít zhruba za rok, jejich vydání je očekáváno ve druhé polovině (pravděpodobně v poslední čtvrtině) roku 2026. Vyjasnění toho, které instrukce budou podporovány, ale snad přijde dřív.

Zdroje: InstLatX64 (1, 2)

Jan Olšan, redaktor Cnews.cz


⠀

Contents

Windows 11 už má podporu instrukcí APX v procesorech Nova Lake

Možná si pamatujete, že Intel už řadu let chystá vylepšení procesorů APX, které procesorům x86 přidá více pracovních registrů a další zlepšení, která mohou zmírnit nevýhody instrukční sady x86 proti procesorům Arm. Toto rozšíření se poprvé objeví v procesorech Intel Core Ultra 4000 „Nova Lake“. Čekali jsme, že bude trvat, než ho software začne používat, a zpočátku nebude mít význam. Ale systém Windows ho zřejmě využije hned. Celý článok „Windows 11 už má podporu instrukcí APX v procesorech Nova Lake“ »

První procesory Intel Nova Lake zachyceny, i s AVX-512 a APX

Zatímco AMD chystá k vydání novou generaci procesorů s architekturou Zen 6, také u Intelu se schyluje k příchodu významné nové generace CPU „Nova Lake“. Ta by díky 2nm technologii a nové architektuře (ale také například „herní“ cache) mohla vylepšit konkurenceschopnost čipů Intelu poté, co Core Ultra 200 „Arrow Lake“ poněkud zklamalo. Vypadá to, že se teď objevily první funkční běžící čipy Nova Lake, poodhalující poprvé tato CPU. Celý článok „První procesory Intel Nova Lake zachyceny, i s AVX-512 a APX“ »

Intel potvrzuje: Procesory Nova Lake dostanou AVX-512 i APX

Už za rok by tu mohly být procesory Intel Nova Lake neboli Core Ultra 400, které by mohly zvrátit ne úplně úspěšný trend firmy v konkurenčním boji s AMD v posledních letech. Letos jsme několikrát řešili otázku, zda tyto procesory začnou podporovat důležité nové technologie platformy x86 – AVX-512, AVX10 a APX. Nejdřív to vypadalo nadějně, pak přišly zprávy, že podpora nebude. Teď konečně Intel oficiálně potvrdil, co od Nova Lake čekat. Celý článok „Intel potvrzuje: Procesory Nova Lake dostanou AVX-512 i APX“ »

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *