Diit.cz - Novinky a informace o hardware, software a internetu

Umí vaše grafická karta asynchronní shadery?

DirectX 12 podporuje technologii asynchronních shaderů, která umožňuje efektivněji využít GPU, pokud zpracovává grafický i výpočetní kód naráz. Pojďme se podívat, které grafické karty toto umí.

Včera jsme si podstatu asynchronních shaderů představili, dnes se podíváme konkrétněji na podporu u jednotlivých řad grafických karet. Úvodem jedno vysvětlení. V diskusích, ale i v některých článcích lze narazit na míchání několika čísel: třeba v případě Radeonu R9 290X se jednou mluví o maximálně 3 frontách, jednou o osmi, jednou o šedesáti čtyřech. Každý údaj se ale týká trochu jiné situace. Číslo tři souvisí s ukázkou, kterou AMD prezentovala ve slajdu, kde je zároveň pracováno s frontou pro datové přenosy (1), frontou pro grafiku (+1) a frontou pro výpočty (+1). Tím je ilustrováno, že architektura GCN je schopná pracovat se třemi typy front zároveň.

Číslo osm udává v případě Radeonu R9 290X počet ACE jednotek, tedy hardwarových bloků, které s výpočetními frontami pracují. Protože každá ACE jednotka sama o sobě umí pracovat s osmi frontami, je celkový počet, které podporuje GPU jako celek, rovný 64.

DirectX 12 v kombinaci s kompatibilními grafickými čipy umožňuje používat zároveň 1 grafickou frontu a 1 nebo více výpočetních front. Čím více výpočetních front je podporovaných, tím může být efektivita využití čipu vyšší - tato závislost ale v praxi nebude lineární; s počtem front zároveň bude ubývat nevyužitého potenciálu, takže i vliv bude menší a menší.

Krom množství výpočetních front, se kterými GPU zvládá pracovat, je důležitý fakt, zda umí pracovat s grafickou frontou a výpočetními frontami zároveň. To je podstatou asynchronních shaderů ve hrách. Například „velký Kepler“ a první generace Maxwellu umějí pracovat až se 32 frontami, ale pouze ve výpočetním režimu. Ve hrách je využita jen jedna fronta celkem a je třeba přepínat, zda bude využita pro grafiku nebo pro výpočty.

To vše je vyjádřeno v následující tabulce. Je převzatá z Anandtechu, ale výrazně rozšířená a přepracovaná. Originální verze totiž uvádí pouze kolik mají jednotlivé čipy hardwarových jednotek na práci s frontami, ale nikoli s kolika frontami tyto jednotky umějí ve skutečnosti pracovat (což je v naší tabulce vyjádřeno ve druhém a částečně třetím sloupci). Dále jsem doplnil více modelů grafických karet a běžnější modely APU:

 jednotky front
(queue engines)
front celkem
(total queues)
grafick. + výpoč.
front
asynchr.
shadery
AMD GCN 3rd gen
R9 285 / Carrizo
8641+64
AMD GCN 2nd gen+
R9 290 / 295 / Kaveri
8641+64

AMD low-power APU

Kabini, Temash, Beema, Mullins

4321+32
AMD GCN 2nd gen
HD 7790 / R7 260
281+8
AMD GCN 1st gen
HD 7730 / 7750 / 7770 / 78x0 / 79x0
R9 265 / 270 / 280
281+8

Nvidia Maxwell 2nd gen

GTX 960 / 970 / 980 / Titan-X

32321+31
Nvidia Maxwell 1st gen
GTX 750
32321
Nvidia Kepler+ (GK11x)
GTX 780 / Titan / Titan Black
32321
Nvidia Kepler (GK10x)
GTX 640 / 650 / 660 / 670 / 680 / 690
GTX 740 / 760 / 770
111

Z hlediska hráče je podstatný třetí sloupec. Pokud karta podporuje pouze 1 frontu zároveň, znamená to, že nepodporuje asynchronní shadery (tj. Kepler a první generace Maxwellu). Naopak pokud podporuje grafickou a výpočetní fronty zároveň (v tabulce ve třetím sloupci tučně jako 1+…), pak asynchronní shadery zvládá.

Kde mohou asynchronní shadery pozitivně ovlivnit výkon: Obecně ve hrách, které používají výpočetní potenciál GPU. Například pro obrazový post-processing včetně některých forem anti-aliasingu, pro fyzikální simulace nebo umělou inteligenci a podobně. Je ale třeba, aby to podporovala samotná hra - pouhé nainstalování DirectX 12 (či Mantle, Vulkan ap.) podporu asynchronních shaderů do hry nedoplní. Jako příklad využití asynchronních shaderů zmínila AMD Playstation 4 a hry Battlefield 4, InFAMOUS Second Son, The Tomorrow Children a z PC platformy Thief pod Mantle.

Zdroje: 

Diskuse ke článku Umí vaše grafická karta asynchronní shadery?

Neděle, 5 Duben 2015 - 12:45 | Kedar Míša | Neříkám, že mantle je nějaká extra výhoda. Ale...
Neděle, 5 Duben 2015 - 10:25 | Shal | To že je využívá v Mantle ještě neznamená, že...
Sobota, 4 Duben 2015 - 19:59 | Kedar Míša | AMD využívá tyto technologie v Mantle. Kdyby...
Sobota, 4 Duben 2015 - 17:08 | Shal | Nedávají stejný výkon. Jsou stejně slabé jako...
Sobota, 4 Duben 2015 - 16:26 | skaven | tie zastarale procesory za babku v mantle a dx...
Sobota, 4 Duben 2015 - 11:39 | Shal | Gratuluji AMD, že jejich grafické karty ovládají...
Sobota, 4 Duben 2015 - 11:33 | Shal | No jenom to, že až tu budou hry, které budou...
Sobota, 4 Duben 2015 - 11:27 | Shal | Limit Draw calls rozhodně není brzdou současných...
Sobota, 4 Duben 2015 - 11:24 | Shal | "A nové grafické API umožní AMD poprvé...
Pátek, 3 Duben 2015 - 19:13 | trodas | <i>asi AMD prilis nepotesi ze ji zakaznici...

Zobrazit diskusi