Tiger Lake/Gen12 zásadně inovuje architekturu GPU Intel. Největší změna od roku 2006

V příští rok uváděné architektuře Gen12 Intel provede jedny z největších změn od roku 2006. Nová samostatná GPU Xᵉ tím otevřou novou éru bez staré zátěže.

14

Vypadá to, že Intel chystá velkou architektonickou změnu svých GPU. Letos firma vydala v 10nm procesorech Ice Lake novou poměrně výkonnou integrovanou grafiku Gen11 s řadou nových technologií, ovšem její koncepce vychází stále z linie předchozích GPU Intelu. V následující generaci procesorů Tiger Lake s architekturou „Gen12“ ale zdá se nastane zásadní zlom a inovace vnitřností. Což je zajímavé i proto, že tato architektura půjde do prvních samostatných GPU Intel.

 

Gen12: jedna z největších změn od roku 2006

O grafikách Intelu se poměrně dost informací objeví předem, protože firma publikuje s velkým předstihem otevřené Linuxové ovladače. A to platí i pro Tiger Lake, které přijde na trh až příští rok. Patch přidávající podporu pro grafiky Gen12 má poměrně dlouhý vysvětlující komentář, v němž stojí podstatná věc. Gen12 má údajně představovat masivní změnu v instrukční sadě, s kterou GPU pracuje. A to opravdu velkou, údajně je předěláno kódování téměř všech instrukcí, operací a registrů. Podle vývojáře, který patch zaslal, jde o jednu z největších změn od příchodu grafické architektury i965 (podle níž se jmenuje současný Linuxový ovladač, podporující všechny následující GPU).

Pokud se nepletu, ona architektura i965 přišla na svět v roce 2006 s desktopovým čipsetem G965 pro procesory Intel Core 2 (GPU bylo tehdy v externím severním můstku čipsetu spolu s řadičem pamětí). Samotná integrovaná grafika se jmenovala Intel GMA X3000 a poprvé plně hardwarově zpracovávala shadery, zatímco předchozí generace architektury používaly pro řadu činností softwarovou emulaci. Od tohoto jádra, podporujícího DirectX 9.0c a OpenGL 2.1, se táhne linie grafik Gen5 (Nehalem), Sandy Bridge (Gen6) a tak dále až po Skylake/Kaby Lake (Gen9/9.5) a teď Ice Lake. Samozřejmě se při tom zvyšoval výkon, schopnosti a počty jednotek.

Gen12 is planned to include one of the most in-depth reworks of the Intel EU ISA since the original i965. The encoding of almost every instruction field, hardware opcode and register type needs to be updated in this merge request.

Nicméně Gen12 s Tiger Lake má být zásadní zlom. Jednak v instrukční sadě, kterou dlouho Intel udržoval kompatibilní – možná proto, že v ovladačích a multimediálním enkodéru/dekodéru Quick Sync se používá hodně kódu manuálně napsaného a optimalizovaného přímo pro tuto instrukční sadu GPU. Nyní u Tiger Lake se kompatibilita po dlouhé době přetne, což bude příležitost k moha interním změnám, které by měly posunout výkon a schopnosti dál. Současně dost možná tato nová instrukční sada opět může být základ pro další dlouhou postupnou evoluci.

Teaser samostatného GPU Intel z loňského roku. Na trh mají přijít příští rok

Zjednodušení architektury jednotek pro lepší výsledný výkon

Ovšem instrukční sada je pořád do určité míry jen vnější obraz toho, co se děje uvnitř. Linuxový ovladač ale odhaluje i jednu zásadní interní změnu. Intel chystá značné zjednodušení mikroarchitektonické implementace výpočetních jednotek. Bude odbourána tzv. logika Register Scoreboard, s jejíž pomocí výpočetní jednotky garantovaly koherenci obsahu registrů mezi čteními a zápisy. To znamená, že už nebude vždy 100% bezpečné k registrům přistupovat, hardware nebude automaticky garantovat, že například při čtení nemůže dojít k vrácení nesprávné hodnoty kvůli tomu, že mezitím do registru byl proveden další zápis. Aby nedošlo k takovému konfliktu čtení a zápisů (jehož výsledkem jsou nesprávná data), bude tedy místo hardwaru muset hlídat samotný běžící software, potažmo jeho kompilátor.

But probably the most invasive change is the removal of the register scoreboard logic from the hardware, which means that the EU will no longer guarantee data coherency between register reads and writes, and will require the compiler to synchronize dependent instructions anytime there is a potential data hazard (…)

Toto může znít jako zhoršení, ale ve skutečnosti takové zjednodušení výpočetní jednotky pravděpodobně je přínos a cesta k lepšímu výkonu. Odstraní se z ní totiž určitá komplexita, kterou převezme softwarová vrstva (kompilátor se postará, aby na sobě závisející operace byly provedené ve správném pořadí). A na oplátku by zjednodušený shader/EU snad mohly lépe škálovat – dosáhnout lepší frekvence, potřebovat méně tranzistorů a tím umožnit integraci více jednotek na GPU.

Zjednodušení může otevírat cestu k vyššímu výkonu

Zejména by asi toto zjednodušení mohlo vést ke zlepšení energetické efektivity. A právě ta je jedním z hlavních klíčů ke škálování výkonu GPU, jelikož TDP je vedle velikosti čipu jeden z hlavních limitů samostatných (ale eventuálně i integrovaných) grafik. Pokud se tedy při stejném výkonu sníží spotřeba jedné jednotky, vede to k vyššímu celkovému výkonu u výsledných grafik. Podobné zjednodušování výpočetních jednotek během jejich evoluce prováděla například i Nvidia.

Vypadá to tedy, že v mnoha ohledech Intel u architektury Tiger Lake/Gen12 provedl cosi jako vyčištění a odstranění nánosů a bude u ní opět začínat s čistým stolem, i když asi jen částečně, o kompletní start na zelené louce asi také úplně nejde (to je však dost vzácná věc). Toto by samozřejmě mohlo integrovaným grafikám Tiger Lake a následujících procesorů (po Tiger Lake má být Alder Lakes grafikou Gen13 a CPU jádrem Golden Cove, zřejmě stále na 10 nm) dost prospět.

Xᵉ má přinést integrované grafiky a samostatné karty od lowendu přes mainstream až po highendové herní karty (Zdroj: AnandTech)

Začátek vývoje grafik Xᵉ

Ještě důležitější to ale asi je proto, že na Gen12 bude firma stavět první samostatná GPU. Intel si tedy zvolil okamžik pro odstranění zpětné kompatibility a „bagáže z minulosti“ chytře. Samostatné grafiky, u nichž by také měl přijít nový důraz na herní výkon, tak budou od počátku nová kontinuita, což by mělo být přínosné pro dlouhodobý vývoj ovladačů. Ovšem jak tento projekt Intelu celkově dopadne, to zatím pořád nemůžeme vědět, čeká ho určitě nejedno další úskalí.

Grafická architektura Intel Gen11 (procesory Ice Lake, Lakefield, Elkhart Lake)


Tiger Lake/Gen12 zásadně inovuje architekturu GPU Intel. Největší změna od roku 2006
Ohodnoťte tento článek!
4.8 (95.29%) 17 hlas/ů

14 KOMENTÁŘE

  1. Nejsem si vůbec jistý, že toto je správná cesta. Alternativní je asi to správné označení, nicméně poslední “alternativa” skončila nakonec v mobilech (PowerVR). V době, kdy se GPU pomalu ale jistě integruje do CPU jako další koprocesor, mně připadne opuštění koherence jako ne-zrovna-nejlepší nápad.

      • A není to v případě užití GPU jako koprocesoru jedno? Podle mě ano, protože to pak předpokládá použít nějaký middleware, prostě si celou GPU člověk musí zabalit do nějakého API a to se pak bude chovat jako černá skřňka – to je ale v tomto ohledu krok zpět.

        Vždy jsem žil v tom, že pro klasické užití koprocesoru (a to platí od dalekého pravěku Atárek, C64, Amig, etc., etc.) až k moderním jednotkám v x64 CPU je naprosto nutné znát správný výstup na adekvátní vstup. A pozor, ty registry jsou “interní” jen z pohledu grafiky jakožto zobrazovadla. Ochudit se o přístup k nim z hlediska lowlevel programování, je IMHO chyba.

        Jistě, pro roli grafického akcelerátoru, který vyžaduje driver, to klíčové není. Ale zdá se mi, že takto Intel bojuje již dávno vybojovanou bitvu.

        • abych rekl pravdu, tak ja cekal, ze cpu a gpu v teto dobe uz budou davno propojeny nejakou interni logikou na bazi treba infinity fabric aby z hlediska vyvoje cpu a samostatna grafika se tvarili jako APU a pametovy prostor byl sdileny … zatim mam pocit to splnuje snad jen profi Vega ktera ma infinity fabric pres PCIE a az bude PCIE5 uz budou rychlosti docela dobry a nebude to prilisny bottleneck kdyz se pamet bude “sdilet” coz by mohlo hodne pomoct fyzice, AI .. v lescem by mohlo pomoct i cpu treba u nejakych filtru ci efektu .. ale nejak se tak nedeje a stale se ty dve zarizeni tvari jako samostatne .. fakt by me zajimala nejaka analyza u konzoli jak jinak se tam programuje a jaka je efektivnost kdyz je to propojeny a maji sdileny pametovy prostor a jak to zlepsuje efektivitu … ale tam je to jednoduchy pac u APU se nemusi delat slozity sync a data nejak presunovat mezi dvema pametma

          • no takhle: (h)UMA existuje poměrně dlouho, ale má kromě pozitiv i negativa. Krásně se to dá ilustrovat na mé oblíbené Amize, kde tzv ChipRAM, která je krásným příkladem pro UMA, byla díky tomuto konceptu “zpomalena” z hlediska CPU na 1/2 nominální rychlosti, protože CPU se dostal “k lizu” jen každý 2. takt (další takty byly rezervovány pro jednotlivé obvody chipsetu přes DMA controller Agnus). Pokud počítač neměl reálnou FastRAM (což do řady A1200 nebylo moc časté), tak jeho procesorový výkon mohl v řadě případů degradovat. Na druhou stranu toto řešení umožňovalo použít čipset jako koprocesor, čehož se nadmíru využívalo ve hrách (různé efekty s blitterem, apod.).

            Dnes samozřejmě máme kopec několikatierových cache a situace se může zdát diametrálně odlišná. Nicméně právě zajištění koherence alespoň na úrovni paměti se stává úhelným kamenem a poměrně efektivně bourá výhody cache. Zjednodušeně řečeno, v takovém prostředí si na cache a “vlastní píseček” moc hrát nemůžeš, naopak je spíše snaha mít jedno velké a synchronizované pískoviště.

      • JJ, já myslím, že tohle koherentní propojení celého GPU a CPU na úrovni pamětí (a cache) neohrozí, jen to holt bude ovlivňovat programovací model – když člověk nepoužije přímo k tomu určený kompilátor, tak bude (v asembleru) muset zachovat nějaké zásady navíc. A když kód běžící na tom GPU bude správně zkompilovaný, tak si tohle pohlídá a koherentní logika nebude mít na úrovni pamětí problém.

        Intel přišel s vlastním standardem koherentního propojení přes PCIe (CXL) a určitě ho bude chtít s těmito GPU používat.

        Tady je to asi o tom, že se ukazuje, že “udělat to pořádně už v hardwaru, ať se zjednoduší software” není na rozdíl od x86 CPU výhodný přístup, protože vám to nakonec omezí celkový dostupný výkon. Naproti tomu když se na kód (kompilátor) uvalí určitá omezení, která musí zachovávat a hardware se zjednoduší, aby už některé věci nemusel nadále řešit, tak to dovolí z něj vyrazit víc výkonu.
        Ta základní jednotka shaderu/ALU v GPU prostě musí být hodně jednoduchá a efektivní (takže žádná out-of-order execution například). Když ji bude člověk chtít udělat “víc pořádně” aby byla robustní jako CPU, tak spotřebuje moc energie, moc tranzistorů, omezí si takt, a celek nebude mít dost výkonu.

        • Jak už jsem psal výše – to ale znamená, že bez “intelova rukovodítělja” je použitelnost na cokoli mimo grafiku vysoce sporná. Chápu pohnutky, chápu výkonové výhody, ale tak nějak si stále myslím, že to bude do budoucna přítěž, zejména pokud konkurence (v tomto případě AMD) to má vyřešeno a v podstatě směřuje k (téměř) baremetal implementaci a inkluzi GPU do instrukčního setu CPU (myslím, že u nových Epiců/TR řady 3000 už bude jeden chiplet GPU v podobě koprocesoru). Tím spíše, že gen12 bere Intel jako svého druhu restart.

          • Já bych se nedivil, kdyby tuhle věc dělalo AMD i Nvidia stejně (ale nezjišťoval jsem to).
            Obecné výpočty na GPU jdou typicky přes kompilátor, takže není problém. Když se nějaký kód napíše ručně, tak je to typicky specializované a ten programátor o tomhle bude vědět a přizpůsobí se.

            • Nejsem v tomto oboru odborník a ani znalec, ale minimálně u Vegy se IMHO snažili přesně o tohle, protože takový požadavek na kompilátor jde vždy proti jednoduchosti a univerzálnosti použití:

              “Vega” 10 is the first AMD graphics processor built using the Infinity Fabric interconnect that also underpins our “Zen” microprocessors. This low-latency, SoC-style interconnect provides coherent communication between on-chip logic blocks with built-in quality-of-service and security capabilities. Because it is a standard across our IP portfolio, Infinity Fabric allows us to take a flexible, modular approach to processor design. We can mix and match various IP blocks to create new configurations to serve our customers’ needs. In “Vega” 10, Infinity Fabric links the graphics core and the other main logic blocks on the chip, including the memory controller, the PCI Express controller, the display engine, and the video acceleration blocks. Thanks to the Infinity Fabric support built into each of these IP blocks, our future GPUs and APUs will have the option of incorporating elements of the “Vega” architecture at will.

              https://www.techpowerup.com/gpu-specs/docs/amd-vega-architecture.pdf

              viz rapid packed math…

            • To je propojení na vyšší úrovni, a koherence by se měla týkat pamětí a cache. Že přímo výpočetní jednotky a jejich registry potřebují speciální programovací model, aby si potichu nezkorumpovaly data, je proti tomu ortogonální věc (a v tom citátu se o tom nikde nemluví) a jde to určitě skloubit.

  2. No nevím mvladar (a nejen on) tady pořád šířil poplašné zprávy o AMD:
    – jak ZEN2 nejede (ukázalo se že se to nazakládá na pravdě)
    – procesory ZEN2 jsou špatné hned zdegradují (je to šunt) – no nevím je to možné, ale evidentně opakovaně řeší tento problém Intel viz https://bit.ly/2kC47GT

    No aspoň že tu zůstaly ty zprávy o problémech s turbem (to že ty problémy měl svého času i Intel radši opomeneme…). No a už tu jsou i první testovací vzorky nového BIOSu, který má problém řešit. Takže možná zmizí i poslední “problém” který je tu byl v #hateAMDtrain zmiňován.
    Nicméně moje skepse k turbu 4,7GHz u Ryzen3950X stále přetrvává.

      • U 4,6GHz tak nějak vidím strop. Možná, že pozdější čipy, jak budou mit výrobní proces odladěnější, budou zvládat 4,6 i 4,7 v klidu. Ostatně budou odladějější i BIOSy. Kde stále ze svých zkušeností vidím rezervy.

        Jinak 3700X je dobrý procesor ostatně ho mám a nebál bych se ho… Tak za 2 roky vyměním 1700 za 3950. To už tu budou nové Ryzeny a cenově bude dostupnější. Naštěstí i moje X370 tuto výměnu umožňuje.

  3. jen do toho, rybníček dvou a nějaký čas vlastně jen 1,5 výrobce chce rozhýbat. Ještě kdyby VIA s čínským kapitálem to nějak rozběhla, konkurence je zdravá pro všechny spotřebitele. Kam vedla hegemonie Intelu je krásně vidět na létech po Core2Duo, FX byla sice zajímavá věc, ale nedotažená takže jen hráli druhý part a ještě poloviční. Labutí písní té doby byly čipy Sandy/Ivy, pak už jen natahovaná nuda až do ryZen.