Výběr toho nejlepšího z GPU Technology Conference 2012 | Kapitola 4
Seznam kapitol
Měli jsme možnost zúčastnit se GPU Technology Conference 2012, největší konference zaměřené na grafické karty a technologií okolo nich. Ačkoliv je celá akce primárně zaměřena na odbornou veřejnost, zajímavostí pro „běžné“ uživatele bylo také dost. Ukážeme vám například vykreslování pomocí ray tracingu v reálném čase.
Základní změnou v architektuře Kepler je předělání výpočetních bloků SM architektury Fermi na nové bloky SMX, které mají 192 výpočetních jader místo původních 32 a 16 texturovacích jednotek. V jádře GK104 je takových bloků osm, což dává známý počet 1536 unifikovaných jednotek. Ve velkém Kepleru je SMX bloků celkem patnáct, celkový počet výpočetních jader v GK110 tedy činí šílených 2880.
Tím však změny v architektuře rozhodně nekončí. Kepler má dále vylepšenou instrukční sadu, díky čemuž je každé jádro schopno vykonat specifické typy operací za kratší dobu. Dalšími změnami jsou například navýšení maximálního počtu přístupných registrů z jednoho vlákna z 63 na 255, možnost vynechání texturovací jednotky při přístupu z data cache do SMX, efektivnější paměťový řadič GDDR, větší L2 cache s vyšší propustností, efektivnější implementace ECC pamětí a podobně. Změn, které ocení především segment GPGPU je opravdu velké množství.
Podle nVidie je „problémem“ moderních grafických jader příliš velký výkon. Ten je tak velký, že pro procesor je téměř nemožné zatížit celé jádro na 100 %. nVidia proto s architekturou Kepler představuje technologii Hyper-Q, díky které má grafické jádro celkem 32 front, do kterých procesor může řadit požadavky a grafické jádro jich v závislosti na jejich náročnosti vykonává několik současně tak, aby byly stále v co největší míře vytíženy všechny SMX bloky.
Třetí novou technologií architektury Kepler je tzv. dynamický paralelismus. Jeho síla spočívá v tom, že unifikovaná jednotka se po dokončení každého výpočtu nemusí obracet s dalším požadavkem zpět na procesor. Pokud dokončení výpočtu přímo vyžaduje spuštění dalších výpočtů, je každá unifikovaná jednotka schopna spustit další vlákna a práci převést na další jednotky a procesoru se vrací až úplný výsledek operace.