Detaily CPU jádra Intel Alder Lake/Golden Cove odhalené (analýza)

FPU a SIMD: AMX v serverech, Alder Lake přijde o AVX-512

Procesory Intel Alder Lake budou asi největší hardwarová událost letoška. Jsou ještě přes dva měsíce daleko, ale už jsme dostali snad nejvíc očekávané info: Intel odhalil architekturu jader těchto CPU. Ta slibuje velké navýšení výkonu – půjde o jeden z největších architektonických skoků v x86 procesorech. Například poprvé přináší šest paralelních dekodérů a další posílení IPC, čímž Intel jde podobou cestou jako účinná jádra Applu.

Protože Intel nepoužívá oddělenou FPU, jsou floating-point a SIMD jednotky (které provádějí jak celočíselné, tak floating-point, ač se jim někdy tradičně říká FPU) za těmi samými porty jako celočíselné ALU operace. Paralelismus SIMD části ale není tak silný, všechny jednotky jsou zdá se jen za třemi porty – 0, 1 a 5 jako u předchozích architektur.

Použití jen tří portů bohužel omezuje možnost zvýšit IPC procesoru tím, že se proloží SIMD nebo floating-point a skalární celočíselné instrukce (což by mělo fungovat třeba u AMD Zenů nebo ARMů). Méně portů obecně znamená více konfliktů. Například je velmi užitečné, že jádra Intelu mají dvě jednotky pro permutace, ale při využití této schopnosti provést dva shuffly v jednom cyklu už je volný jen jeden další SIMD port pro jiné operace. Ač má tedy Golden Cove teoreticky širší jádro, při některých mixech instrukcí by Zen 2 nebo Zen 3 mohl zpracovat za cyklus víc operací.

Na všech třech portech jsou SIMD ALU pro celočíselné operace, permutace (shuffle) jsou na dvou (1, 5), SIMD posuny jsou na dvou (0, 1), floating-point dělička na jednom. Mělo by to znamenat, že 512bitobých operací lze v jednom cyklu udělat dvě až tři podle typu – tedy u těch celočíselných. U floating-point to budou maximálně dvě 512bitové operace, nebo tři 256bitové v případě FMA.

Nové v Golden Cove je, že dva porty mají také rychlou floating-point sčítačku (FADD) na portech 1 a 5, která má nízkou latenci a lepší spotřebu proti těžkotonážnějším jednotkám FMA,které tak pro sčítání zastoupí. Jednotka FMA je na třech portech, přičemž stejně jako v předchozích architekturách – tedy aspoň těch serverových to funguje tak, že první dvě FMA jsou 256bitové, takže dohromady umí dvě instrukce AVX/AVX2 za takt, nebo se mohou sdružit pro výpočet jedné 512bitové operace AVX-512. Třetí jednotka FMA na portu 5 je nativně 512bitová, takže umí provést jednu operaci AVX-512 každý cyklus (ovšem latence může být delší). Není jasné, zda bude tato 512bitová FMA zase jenom ve verzi jádra pro procesory Xeon Sapphire Rapids a odvozenou HEDT platformu, nebo tentokrát bude i v procesorech pro spotřebitelský trh.

FP16 výpočty

Instrukce AVX-512 jinak v jádře Golden Cove nově mají schopnost pracovat s 16bitovými hodnotami FP16 (kdy je možná vypočítat 2× více operací za cyklus než s přesností FP32), což je sice zase nové rozšíření (přidávající fragmentaci), ale pro některé aplikace jako je AI (ale asi i pro některé multimediální úlohy) to může být dost přínosné. Toto a přidání jednotek FADD je zdá se v Golden Cove hlavní změna SIMD/FPU části, jinak se nezvýšily hrubé teoretické schopnosti této části backendu (ale celkově asi výkon bude vyšší díky posílení ostatních částí jádra).

AVX-512 bude natvrdo vypnuté

Ve výsledku je to jedno, protože AVX-512 představuje konflikt s big.LITTLE architekturou, jelikož malá jádra Gracemont tyto instrukce neumí. Při přesunu programu na toto jádro by proto došlo k pádu aplikace. Současně by se AVX-512 nedalo reálně použít v mnohovláknovém kódu, protože byste pravděpodobně nezískali navíc dost výkonu na to, aby se překonala ztrátu z toho, že nevyužijete výkon malých jader, která by mohla aplikace vytížit současně s velkými jádry, pokud by AVX-512 nepoužívala (a vypadá to, že výkon přidaný těmito malými jádry ukáže být značný).

Intel již potvrdil, že z tohoto důvodu budou mít jádra Golden Cove ve spotřebitelských procesorech Alder Lake podporu AVX-512 vždy vypnutou, ačkoliv v křemíku bude přítomná, a budou podporovat maximálně AVX a AVX2. Nepůjde ji ani znovu zapnout, pokud byste deaktivovali malá jádra Gracemont. Procesor ji má natvrdo hardwarově deaktivovanou bez možnosti zapnutí. Toto je škoda pro vývojáře softwaru. Původně se objevovaly informace, že by Intel mohl dovolit u Alder Lake malá jádra dočasně vypínat a tím aktivovat AVX-512, nakonec asi kvůli komplikacím s tím spojeným tato možnost existovat nebude.

AVX-512 tak asi bude možné používat jedině u serverové verze jádra Golden Cove v procesorech Sapphire Rapids – ve Xeonech a v odvozených highendových procesorech Core na tzv. „HEDT“ platformě (tedy následníkovi dnešní X299). Intel by teoreticky mohl vydat nějaké verze Alder Lake pro mainstreamový desktop, kde by z továrny byla naopak natvrdo vypnutá malá jádra a AVX-512 by mohlo být aktivní, ale v nabídce CPU by to pak vypadalo dost divně, takže moc nečekáme, že by se takovéto speciální modely atraktivní pro vývoj softwaru s AVX-512 objevily.

Schéma CPU jádra Golden Cove ve verzi pro servery (Zdroj: Intel)

Jak už poznamenalo mnoho lidí, Intel tímto hodně zkomplikoval použití instrukcí AVX-512, protože jen co se v mainstreamových CPU objevily (Ice/Tiger/Rocket Lake), už jsou zase pryč, takže uživatelská základna zůstává příliš malá. Koncepce big.LITTLE je z tohoto jednoho pohledu dost neblahá zpráva. Objevily se – zatím neoficiální – zprávy, že AMD by naopak AVX-512 teď, zrovna, když ho Intel odebral, mohlo podporovat v jádru Zen 4. Takže to vypadá, že pokud budete chtít tuto dřívější exkluzivní výsadu Intelů, bude vás to paradoxně tlačit ke konkurenci.

Intel zřejmě v Alder Lake vypnul i některé další instrukce, které Golden Cove a i velká jádra předtím uměla, takže výsledkem by mělo být, že instrukční sada přesně odpovídá malým jádrům. Další oběti už snad ale nejsou tak významné (i když pokud jste je už v nějakém programu stihli uplatnit, asi radost mít nebudete).

Co z AVX-512 v této osekané variantě Golden Cove ale zbylo, budou instrukce VNNI, ovšem v omezené verzi používající jen 256bitové registry pro AVX (YMM) místo 512bitových (ZMM). Tyto instrukce budou mít i malá jádra, a tak bude VNNI256 možné používat i v jádrech Golden Cove procesorů Alder Lake.

Instrukční rozšíření AMX pro akceleraci AI prování maticové násobení nad 1024bitovými registry

Advanced Matrix Extensions (AMX)

Pokud jde o serverovou verzi Golden Cove v procesorech Sapphire Rapids, bude mít kromě aktivního AVX-512 ještě jednu specialitu: instrukční rozšíření AMX, které zdá se ve spotřebitelské verzi (procesory Alder Lake) nedostaneme.

Tyto instrukce budou provádět maticové operace s vysokým paralelismem a tím i hrubým výkonem (ovšem s relativně omezeným použitím, proto také výkon může být tak vysoký), jelikož jde o akcelerátory určené pro strojové učení/umělou inteligenci. Lze je tedy asi chápat jako obdobu třeba Tensor jader v GPU Nvidia. Jednotka provádějící operace AMX je podle schématu Intelu v jádře přítomná jedna, na portu 5.

Instrukční rozšíření AMX pro akceleraci AI prování maticové násobení nad 1024bitovými registry

Instrukce AMX budou provádět maticové násobení s hodnotami INT8. Budou k tomu používat nové 1024bitové registry (jádro jich má osm – T0 až T7), nad nimiž tyto operace budou probíhat. V jednom registru se tedy bude najednou zpracovávat 128 hodnot INT8. Výkon instrukcí AMX má dosahovat až 2048 operací ze jeden cyklus na jednom jádru (takže pokud to dobře počítám, cca 2 TOPS při frekvenci 1 GHz, 8 TOPS při 4 GHz…).

Článek pokračuje v další kapitole.

  •  
  •  
  •  
Flattr this!

Intel spěšně ukončí prodej 125W procesorů Core 13. generace

Od února se šíří zprávy o nestabilitě výkonnějších procesorů Intel Core 13. a 14. generace ve hrách. Intel teď udělal netypickou věc, která vyvolává otázku, zda třeba s problémem nesouvisí. Jen pár měsíců po vydání refreshových modelů Raptor Lake, tedy Core 14. generace, ukončuje výrobu předchozích modelů generace 13. Přitom obvykle firma nechávala starší generace dojíždět mnohem déle, takže by to teoreticky mohlo s aktuální chybou souviset. Celý článok „Intel spěšně ukončí prodej 125W procesorů Core 13. generace“ »

  •  
  •  
  •  

Nestabilních procesorů Raptor Lake přibývá, Intel věc analyzuje

Před nedávnem jsme psali o tom, jak mají procesory Intel Raptor Lake problémy se stabilitou ve hrách. Zprávy o pádech často provázených zavádějící hláškou o nedostatku grafické paměti, zdá se, neutichají a naopak se spíš množí, stejně jako počty her, ve kterých jsou tyto problémy hlášené. Intel zatím k věci nezaujal nějaké oficiální stanovisko, ale problém analyzuje. Jde možná o největší takové problémy s procesory Intel v poslední době. Celý článok „Nestabilních procesorů Raptor Lake přibývá, Intel věc analyzuje“ »

  •  
  •  
  •  

Poslední Core i9: Speciální i9-14900KS má i extrémní spotřebu

Intel letos chystá vydání nové generace desktopových procesorů – čipletové 3nm Arrow Lake, které už bude pojmenované Core Ultra a bude mít novou platformu LGA 1851. Ještě předtím se ale firma rozloučí se socketem LGA 1700 už asi navždy nejvýkonnějším procesorem, jaký bude na jejím 7nm procesoru existovat: Core i9-14900KS. Tato speciální edice teď bude nejrychlejším, ale také zdaleka nejžravějším procesorem pro hráče od Intelu. Celý článok „Poslední Core i9: Speciální i9-14900KS má i extrémní spotřebu“ »

  •  
  •  
  •  

One comment Pridať komentár

  1. Oprava chyby v článku: bylo špatně napsané srovnání s počtem AGU a load/store operací za cyklus u Zenu 3 (ten má jen 3 AGU a může tedy udělat jen maximálně tři operace za cyklus: tři čtení, nebo dva zápisy a jedno čtení, nebo dvě čtení a jeden zápis, kdežto Golden Cove má 5 AGU umí 3 čtení a zároveň 2 zápisy).

Pridaj komentár

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