Architektura Ampere: jak NVIDIA vylepšila výkon nových GeForce?
9.9.2020, Jan Vítek, článek
Grafické karty NVIDIA generace Ampere představují největší výkonnostní skok po mnoha letech a my nyní čekáme na to, zda na něj bude společnost AMD schopna zareagovat. To si ale můžeme ukrátit článkem o samotné architektuře Ampere.
Kapitoly článku:
- Architektura Ampere: jak NVIDIA vylepšila výkon nových GeForce?
- Co se skrývá pod chladičem: konfigurace, CUDA, výkon
- Ray tracing, DLSS a paměti GDDR6X
Ještě před pohledem na architekturu tu ale máme tři grafy přímo od NVIDIE, které ukazují výkon karet RTX 3070, 3080 a 3090.
NVIDIA nám tím jednak sděluje, že pro majitele karet Pascal už je opravdu čas na upgrade, o což se ostatně otřel i Jensen Huang ve své prezentaci a jistě ne náhodou se v grafech s RTX 3070 a 3080 srovnávají tři hry, z nichž dvě využívají RTX. V takovém případě je výkon Pascalu neobsahujícího RT a Tensor jádra pochopitelně naprosto zoufalý a i ve hrách bez RTX lze počítat s více než dvojnásobným výkonem.
Srovnání s generací Turing už je férové a z něj můžeme vyčíst, že vyšší mezigenerační skok slibuje spíše RTX 3080 a to až dvojnásobek výkonu RTX 2080 ve 4K a RTX 3070 na starší RTX 2070 nažene cca 60 % výkonu.
A pak tu máme BFGPU, kde písmeno F samozřejmě opět neznamená ono ošklivé anglické slovo, i když si ho tam každý dosadí. Dle NVIDIE je to zkratka pro Big Ferocious GPU a jde pochopitelně o GA102-300 v RTX 3090. A zde je jasně vidět, že za předchůdce můžeme považovat TITAN RTX a že o RTX 3090 nemáme uvažovat jako o čistě herní kartě. Ať ale jde o hry nebo aplikace schopné využívat CUDA jádra či prostě výbavu daného GPU, můžeme mluvit v průměru o cca 1,6násobku výkonu TITANu RTX.
Architektura GeForce Ampere
GeForce RTX 3080 tak jasně představuje vrchol karet Ampere z hlediska herních karet, nad nímž sice stojí ještě model RTX 3090, ale ten můžeme i dle grafu výše považovat za nástupce modelu TITAN RTX s poměrem výkonu a ceny, který je oproti 3080 přímo strašlivý. Ale tak už tomu v případě absolutního hi-endu bývá, nicméně my se nyní kvůli tomu podíváme právě spíše na čip GA102 v RTX 3080 (a 3090).
NVIDIA v nabízených materiálech srovnává GPU v RTX 3080 s modelem RTX 2080 Super, mírně vylepšenou verzí původní RTX 2080. Zajímavé je, že počet GPC, čili Global Processing Cluster, se nezměnil a je jich tu stále šest. Značně se ale změnila jejich výbava a také výsledný výkon.
Z počtu 3072 CUDA FP32 jader jich tu najednou máme 8704, což má hlavní podíl na celkovém zvýšení hrubého výkonu v FP32 z 11 na 30 TFLOPS. Ovšem o tom si ještě popovídáme. Dále tu máme výkon pro AI, a tedy i v případě her především DLSS. Jde o poloviční přesnost FP16 a celočíselné INT8 a v obou případech jde o nárůst o 168 %. Fillrate, čili počet vykreslitelných pixelů se zvedl na 164 GPix/s a texturových texelů na 465 GTex/s. Na tom má svůj podíl také nárůst propustnosti pamětí ze 496 na 760 GB/s.
SM v GA102 - GeForce Ampere
NVIDIA označuje SM (Streaming Multiprocessor) generace Ampere za Turing krát dvě. A má svým způsobem pravdu, i když to není tak, že by se prostě využil dvojnásobný počet jader CUDA. Respektive je to tak, ovšem polovina CUDA jader, s níž jsme dle dříve uváděných specifikací vůbec nepočítali, je tu v podobě kombinovaných jader pro FP32 a INT32, čili operace v plovoucí řádové čárce i celočíselné operace v jednom. Přístup firmy NVIDIA je takový, že aplikace náročné na výkon v FP32, což jsou právě i hry, mohou ona nová jádra s dvojí funkcí využít především jako FP32 jádra, díky čemuž jich tu efektivně máme dvojnásobek, ale v praxi to tak nebude a jejich zlomek se využije pro celočíselné operace. Více informací k tomu zatím nemáme a jak se tato architektura ověří v praxi, to se teprve ukáže.
SM v čipech Turing RTX
Zbývá ještě dodat, že tu máme 128kB datové L1 cache, čili o třetinu více než v SM generace Turing a ta má navíc i dvojnásobnou propustnost, takže celý SM v Ampere je robustnější, a to i díky novým jádrům Tensor a RT, na něž se podíváme v příští kapitole. Vypadá to ovšem, že jader Tensor je tu na jeden SM dvakrát méně, jak je vidět dle diagramu SM v Turing RTX.
SM v A100 - akcelerátorech Ampere
Máme tu také detailnější diagram znázorňující jednotku SM v čipu A100, čili také Ampere, ale ne pro grafické karty, nýbrž akcelerátory. Ta už žádné jednotky pro dvojí účel neobsahuje, takže má v SM polovinu jader CUDA pro FP32, jenomže vedle nich má i potřebný hardware pro double precision, čili rovnou FP64. Ale to jen pro zajímavost.
GA102 pro GeForce RTX 3090
Jednotlivé SM vybavené 4 x 32 FP32 jádry pak tvoří jednotky GPC - Graphics Processing Cluster, které jich obsahují celkem 12 a počet GPC je 7. Čili prostým výpočtem dojdeme k finálnímu počtu FP32 jader v RTX 3090: (32 x 4 x 12 x 7) - 256 = 10.496 FP32 CUDA jader. Odečíst totiž musíme jádra ve dvou deaktivovaných SM, což dává NVIDII možnost využít i ta GPU, která se mírně nepovedla. Jak je ale zřejmé, drtivá většina čipu musí být absolutně bez chybičky, a je tak jasné, proč jsou RTX 3090 tak drahé. Oproti tomu RTX 3080:
GA102 pro GeForce RTX 3080
V čipu GA102 pro RTX 3080 už může být deaktivovaný celý jeden GPC plus čtyři jednotky SM k tomu, navíc také High-Speed Hub, čili rozhraní NV Link a nakonec dva ze šesti segmentů paměťového kontroleru. To už tak dává daleko víc prostoru k využití jader obsahujících více chyb. Odečtem 1536 FP32 jader (jeden GPC) a 512 navíc (4x SM) tak dojdeme k výslednému počtu 8704, který platí pro RTX 3080.