AMD Hawaii - Radeon R9 290X, kompletní rozbor architektury
Kapitoly článků
Jak jsme už naznačili v předchozích kapitolách, spadá GPU Hawaii architektonicky do stejné rodiny jako GPU Bonaire. To však bylo vydáno s některými funkcemi částečně (PowerTune) nebo úplně (TrueAudio, DirectX 11.2) neaktivními. V této kapitole se ale zaměříme především na 3D jádro.
Diagram GPU Hawaii vypadá na první pohled výrazně jinak než diagramy GPU z řady HD 7000. Bylo by ovšem nesprávné nechat se unést jeho podobou, které pouze odráží inovované názvosloví pro jednotlivé části čipu, nikoli konkrétní změny v architektuře.
Ačkoli každou ze čtyř skupin stream-procesorů, ROP a geometrie podbarvuje šedý rámeček s názvem „shader engine“, neznamená to, že by došlo na úrovni čipu ke vzniku čtyř obdélníkových chlívečků, z nichž každý okupuje naklonovaná skupina jedenácti králíků, čtyř prasátek a jedné kravičky :-). Tímto způsobem by (až na drobné rozdíly) bylo možné znázornit i čipy minulé generace.
Zároveň to ale neznamená, že ke změnám nedošlo. To, co se tímto způsobem AMD snaží sdělit, je ale něco jiného: Shader Engine je v tomto případě skupina jednotek, která od začátku až dokonce dokáže pracovat s 16 pixely najednou. Při čtyřech blocích to znamená šířku 64 pixelů od začátku až do konce čipu. Z tohoto pohledu je Hawaii „nejširším“ soudobým GPU - ostatní pracují buďto s max. 32 pixely, případně zvládají v různých částech GPU pracovat s různým počtem pixelů zároveň, přičemž nejužší hrdlo nepřekračuje hodnotu 48. V tomto ohledu Hawaii vzdáleně připomíná čip ATi R300 / Radeon 9700 PRO, který po letech čipů širokých max. 4 pixely přišel s 8 pipelines.
Podívejme se podrobněji na jeden „Shader Engine“. Raterizér i počet ROP (přiřazený konkrétně v čipu Hawaii - u jiných se může lišit) zvládají pracovat až s 16 pixely v taktu, přičemž počet CU (Compute Unit) je škálovatelný a dosahuje až 11 v případě Radeonu R9 290X. Proč oficiální slajd hovoří o „maximálně devíti“ nám není zcela jasné - možná jde o překlep, možná o matení nepřítele (9 Compute Units by při 4 Shader Engines znamenalo 2304 stream-procesorů celkem).
Samotné CU se v základním uspořádání nezměnily, stále jde o vektorově-skalární koncept představený s architekturou GCN jako takovou. Došlo ale k nějakým dílčím optimalizacím, jejichž důsledkem je mimo jiné zvýšení přesnosti pro operace LOG/EXP na 1ULP. V praxi to může přinést významné zrychlení v OpenCL, protože dosavadní čipy architektury GCN prováděly tyto operace buďto s nižší přesností (a rychle), nebo s plnou přesností, ale velmi pomalu. Pokud to řekneme ještě jednodušeji, defaultem pro OpenCL je plná přesnost, což znamenalo nízký výkon. Rychlejší způsob zpracování byl použit výhradně tehdy, pokud programátor specifikoval, že mu na přesnosti výpočtu nesejde. Za zmínku stojí i nový způsob adresování.
Výpočetní využití
Výpočetní nasazení čím dál těsněji souvisí s 3D grafikou, protože řadu speciáních efektů lze implementovat efektivněji prostřednictvím výpočetního rozhraní než přes pixel shading, který byl původně navržen a optimalizován výhradně pro práci s pixely. V souvislosti s tím je třeba zmínit změnu ohledně ACE. Jednotky ACE představila AMD s nástupem architektury GCN a všechny dosavadní čipy určené pro PC nesly dvě.
Grafická jádra nové generace herních konzolí (Playstation 4, Xbox One) vybavila AMD osmi ACE (čtyřnásobkem) a totéž se týká i GPU Hawaii. ACE (asynchronous compute engine) jsou zodpovědné za efektivní nakládání s výpočetními úkoly. Mají na zodpovědnost převzetí úlohy, její rozdělení a provedení prostřednictvím dostupných výpočetních bloků. ACE mohou fungovat nezávisle, umožňují efektivní multi-tasking, rozhodují o alokaci zdrojů, řízení priority a podobně. Přestože je GCN (jak je v případě grafických čipů zvykem) in-order architektura, mohou ACE úpravou priority ovlivnit, v jakém pořadí budou úlohy dokončeny.
Osm ACE může v budoucnu pro Hawaii znamenat (oproti např. Tahiti) značný náskok, co se týče portů nových konzolových her. Tím ovšem myslíme hry a enginy, které budou skutečně napsané „na tělo“ novým konzolím, což se nemusí týkat hned první generace titulů uvedených zároveň s novým hardwarem. Hawaii (stejně jako konzole) bude schopná hladce pracovat s vysokým množstvím threadů (vláken), takže bude s dostupným výpočetním potenciálem nakládat velice efektivně. V důsledku toho můžeme očekávat, že výkonnostní rozdíl mezi GPU Tahiti a Hawaii vyjádřený procenty, bude za 12-18 měsíců výraznější než v okamžiku vydání. Na konkrétní čísla bychom samozřejmě potřebovali kvalitní křišťálovou kouli :-).
Double Precision
Kapitolka sama pro sebe je podpora Double Precision. Při uvedení architektury GCN bylo oficiálně potvrzeno, že DoublePrecision je podporována nativně (bez potřeby jakýchkoli přídavných jednotek) a konkrétní výkonnostní poměr vůči single-precision je možné nastavit na 1:16 (základ), 1:4 nebo 1:2. Samozřejmě čím vyšší je žádaný výkon, tím více tranzistorů to stojí.
Protože v žádné z oficiálních prezentací GPU Hawaii nebyl zmíněn výkon v Double Precision, předpokládali jsme, že v zájmu zachování co nejnižších rozměrů čipu půjde pouze o základní (nativní) podporu 1:16 (352 GFLOPS). Překvapení: Hawaii podporuje poměr 1:8 (704 GFLOPS). To je sice v absolutních číslech o něco méně než v případě GPU Tahiti (~1 TFLOPS), ale stále výrazně více než u většiny herních čipů.
Grafická karta | DP GFLOPS |
---|---|
GeForce GTX Titan | 1500 |
Radeon HD 7970 GE | 1075 |
Radeon R9 280X | 1024 |
Radeon HD 7970 | 947 |
Radeon HD 7950 | 717 |
Radeon R9 290X | 704 |
Radeon R9 270X | 168 |
GeForce GTX 780 | 166 |
Radeon HD 7870 | 160 |
GeForce GTX 770 | 134 |
GeForce GTX 680 | 129 |
Radeon R7 260X | 123 |
Radeon HD 7790 | 112 |
Radeon HD 7850 | 110 |
GeForce GTX 670 | 102 |
GeForce GTX 660 Ti | 102 |
GeForce GTX 760 | 94 |
Radeon HD 7770 | 80 |
GeForce GTX 660 | 78 |
GeForce GTX 650 Ti B. | 63 |
GeForce GTX 650 Ti | 59 |
Radeon HD 7750 | 51 |
Radeon R7 250 | 50 |
GeForce GTX 650 | 34 |
Radeon R7 240 | 31 |
GeForce GTX 640 | 29 |
V tomto ohledu nelze AMD ani chválit (Tahiti nabízela o něco víc), ale ani hanit (oproti nejbližšímu cenovému konkurentu je výkon v DP více než 4× vyšší). Šalamounské řešení.
AMD