Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

AMD Graphics Core Next: revoluční grafické jádro - část 1.

16.8.2011, Petr Štefek, technologie
AMD Graphics Core Next: revoluční grafické jádro - část 1.
Dnes se vydáme po stopách nové architektury AMD v oblasti GPU, která nahradí současnou architekturu využitou u GPU Cayman v Radeonech HD 6900. Pro mnohé možná bude překvapení, že zbrusu nová architektura VLIW4 půjde do důchodu.
AMD velmi dobře ví, že současná architektura VLIW je efektivní pouze v případě nasazení v grafice a v GPU Computingu značně pokulhává. Celá strategie společnosti v současnosti visí na platformě Fusion, která je spojením CPU a GPU do jednoho čipu. Úspora nákladů na výrobu a integrace dvou výpočetních procesorů do jednoho čipu ovšem není tím jediným cílem, který AMD sleduje. AMD chce mít jednoduše produkt, který v případě vhodných aplikací dosáhne využití výpočetního výkonu i tam, kde doposud tuto funkci mohlo zastávat pouze CPU.

V případě paralelních výpočtů, kde je jsou GPU velmi silná, existují v podstatě 2 přístupy k řešení výpočtů. Prvním je ILP (Instruction Level Parallelism), který je typický pro architektury VLIW (tj. více výpočetních jednotek v jednom procesoru je schopno vykonávat současně několik instrukcí). Druhým řešením je TLP (Thread Level Parallelism), který je naopak výhodny pro architekturu skalární typu Fermi, kde je přítomno mnoho samostatných výpočetních jednotek. Asi těžko můžeme říci, který přístup je lepší a každé z těchto řešení je vhodné pro jiný typ architektury.

Tento nepatrný vhled do problematicky obou architektur, respektive VLIW architektury AMD a skalární architektury Nvidie, je velmi zjednodušený, ale pro tento účel nám postačí. VLIW není příliš dobré ve výpočtech akcelerovaných skrze GPU z důvodu toho, že je velmi těžké plánovat, jaké instrukce budou vykonávány dopředu. V případě grafiky má compiler dopředu celý kód, takže se zjednodušeně může velmi dobře připravit a VLIW proto v grafice exceluje, i když ani zde není její využití bez problému s efektivitou, což jsme si doložili zhruba 70% efektivitou (číslo pochází přímo do AMD). V případě výpočtů je to ale zcela jiné kafe a je zde příliš mnoho proměnných a možností, které lze dopředu těžko předvídat a reagovat na ně dynamicky. V případě CPU je problematika řešena poměrně úspěšně vysokým taktem a out-of-order architekturou, na což můžeme v případě velmi komplexních GPU zapomenout. Zde máme k dispozici mnoho jednotek na relativně nízkém taktu.

Jak už bylo řečeno výše, VLIW je zcela závislé na svém kompilátoru a jeho schopnostech zpracovat získaný kód tak, aby bylo v maximální možné míře využito hardwarových prostředků. Základem celého problému je komplexnost VLIW instrukcí v návaznosti na další využití disassebleru a následného ladění. Pomocí dalších úprav je pro kodéra možné nalézt kritické části kódu a opravit sekce, kde není jeho vykonávání v návaznosti na použitý hardware zrovna ideální. Např. v High Performace Computingu je toto ladění cestou, jak se dostat k obrovskému výkonnostnímu bonusu v případě využití paralelního výpočetního hardware, jako je GPU. To ovšem znamená projít a optimalizovat kritické části kódu až k samotným jednotlivým instrukcím, a to je samozřejmě poměrně náročné a nákladné.





VLIW není pro AMD východiskem do budoucna pro GPU computing, a tak je třeba myslet jinak (samozřejmě v mezích kompatibility se stávajícím systémem). AMD tedy přišlo s tím, že VLIW ustoupí tradičnímu vektorovému SIMD procesoru. Nyní možná pozornější zbystřili, neboť takový Cayman má ve svém jádru také SIMD, ale u nové architektury Graphics Core Next se bude jednat o plnohodnotný „16-wide“ vektorový procesor. V případě GCN (Graphics Core Next) je vektorový procesor schopen za jeden takt zpracovat instrukci a až 16 datových elementů. Vektorový procesor je kombinovaný s 64 kB registračního souboru a celkově je součástí SIMD. V případě Caymanu SIMD zpracuje jedinou instrukci až za 4 cykly, takže rozdíl je na snadě. Dále si povíme, proč je pro Graphics Core Next tak výhodné mít plnohodnotný vektorový procesor.

Stejně jako stream procesory v jádru Cayman, i klasická SIMD jednotka je schopna vykonávat různé celočíselné operace nebo operace s plovoucí desetinnou čárkou. Bohužel zde nemáme úplně přesné informace o tom, jak SIMD bude přesně navržena a jaký rozdíl bude při vykonávání T-operací oproti Caymanu. AMD prohlašuje, že obrovský krok kupředu bude v případě FP64, kde dosáhne na jednu polovinu výkonu běžných FP32 operací. To běžného uživatele nemusí zajímat, ale ve světě HPC je tato vlastnost stěžejní. Tento trh prozatím okupuje Nvidia se svými stanicemi Nvidia Tesla, které nejen že dokáží velmi dobře výkonnostně ustát FP64 výpočty, ale disponují i podporou ECC pamětí. To je případ pouze profesionálních karet Tesla a u běžných čipů GF110 v herních grafických kartách toto není podporováno.
Doporučujeme náš velký přehled desktopových grafických čipů.