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
Ray tracing
NVIDIA dokázala chytře zvednout počet jader FP32 tak, aby se prudce zvýšil výkon v plovoucí řádové čárce, což vzhledem k využitému způsobu nemuselo ani moc stát z hlediska plochy čipu. Respektive to je jistě lepší, než kdyby tu byl rovnocenný počet jednoúčelových jader pro FP32 a INT32. Tranzistory byly potřebné ale také pro proporční zvýšení výkonu v ray tracingu a také jader Tensor pro DLSS.
Připomeňme si ray tracingovou výbavu karty RTX 2080, oproti níž má RTX 3080 nabídnout i dvojnásobný výkon ve hrách, pak starý Turing měl k dispozici 46 RT jader. My dobře víme, že tu je vždy jedno RT jádro v SM, takže dojdeme k počtu 68 RT jader v RTX 3080. Ovšem hlavní otázka je, jaká to jsou jádra a s jakým výkonem.
A zde se musíme pozastavit nad tím, co nám NVIDIA vůbec říká. Ta tvrdí, že RTX 3080 má výkon 58 RT-TFLOPS, jenomže to musí být něco jiného než RTX-OPS, neboť těch má RTX 2080 celkem 60, respektive 60x1012, čili ve stejném řádu jako RT-TFLOPS. Čili aby RT-TFLOPS se rovnaly RTX-OPS vypadá jako čirý nesmysl, leda by se výkon RT jader naopak snížil, ovšem NVIDIA mluví o dvojnásobném výkonu.
V tomto případě jde ale především o to, že s určením výkonu pro ray tracing to vůbec není tak jednoduché a jednoznačné, jak by se mohlo zdát. Ostatně pod RTX-OPS se může skrývat cokoliv a stejně tak i pod RT-TFLOPS a my víme, že model výpočtu RTX-OPS zahrnuje využití všech hlavních prostředků, čili jader FP32, INT32, RT i Tensor, kde každý má jinou procenty vyjádřenou váhu, s níž se podílí na výsledném určení RTX-OPS. Budeme tak předpokládat, že RT-TFLOPS prostě udává výkon samotných RT jader v plovoucí řádové čárce a jako takový nelze srovnávat s RTX-OPS. Pěkný guláš nám v tom NVIDIA dělá.
- klikněte pro zvětšení -
Druhá generace jader RT má jednak zvýšit výkon, ale také přidat další efekty jako motion blur (rozmazaný pohyb). Jde zde opět o BVH (bounding volume hierarchy) traversal & intersection, čili hledání přesného místa, kde pomyslný paprsek světla protíná trojúhelník, což se využívá v ve vykreslování grafiky pomocí rasterizace plus ray tracingu. Právě tuto úlohu mají nová jádra RT dle NVIDIE zvládat dvojnásobnou rychlostí.
Co se týče efektu motion blur, ten může využít nový hardware interpolující pozice trojúhelníků v časové ose, díky čemuž se tak může tvořit výsledný efekt rozmazání rychle se pohybujících předmětů.
NVIDIA tak sama mluví pouze o funkci motion blur, ovšem vypadá podivně, aby byl takovýmto způsobem upravován hardware kvůli funkci, již mnozí hráči ani nemusí. Logicky ale může jít i o něco jiného, a sice předpovídání pohybu trojúhelníků na základě předchozí trajektorie, což má potenciál k usnadnění celého procesu hledání průniku paprsku s trojúhelníkem a zvýšení výsledného výkonu.
To ostatně vyplývá i z následujícího snímku, takže rozmazání pomocí ray tracingu pak může být v podstatě jen vedlejší efekt techniky pro zvýšení výkonu.
Tensor a DLSS 2.1
Nepřekvapí, že NVIDIA si nová jádra Tensor vzala z čipů A100 stejné generace, i když rozdíl tu je. Jde již o 3. generaci těchto jader, která dokáží využívat tzv. řídké matice. Jde o takové matice, jež mají hodně či většinu svých prvků nulových, díky čemuž je možné klasické maticové operace provádět efektivněji. V případě AI Inference, čili využívání již vytrénované neuronové sítě mohou být takové operace podstatně rychlejší, a právě to se bude velice hodit právě pro DLSS ve hrách.
V případě 3. generace jader Tensor se tak skutečně ukazuje, že jich v jednom SM máme poloviční počet, a to čtyři oproti osmi, jak bylo zmíněno v předchozí kapitole. Jenomže jejich výkon v FP16 FMA je dvakrát až čtyřikrát vyšší, to pokud mluvíme o plných maticích a řídkých maticích. V GA100 jsou jádra Tensor dokonce čtyřikrát až osmkrát výkonnější.
Paměti GDDR6X
Nakonec tu máme nové paměti GDDR6X, které nepředstavují jen zvýšení pracovních taktů oproti GDDR6, spíše naopak. Takty se snížily, ale podstatně se změnil signál a poprvé se v rámci GDDR využila technologie PAM4, díky níž je možné současně přenášet dva bity.
Podobně jako v případě pamětí MLC se dvěma bity na buňku se zde docílilo efektivního zdvojnásobení propustnosti při dané frekvenci. Rozeznávají se zde čtyři úrovně amplitudy, díky čemuž je možné do signálu snadno zakódovat dva bity najednou a ne pouze jeden bit. Jde tak o dvoubity 00, 01, 10 a 11, a to znamená i dvojnásobek nesené informace.
Pro nás je důležité především to, že propustnost pamětí GDDR na pin se díky tomu v generaci GDDR6X zvyšuje na 21 Gb/s. I GeForce RTX 3090 přitom využívá 19,5Gb/s paměti typu GDDR6X, takže je zřejmé, že stále je možné celkovou propustnost posunout, pokud to bude potřeba.
GDDR6X jistě budou využity i v příští generaci karet, i když ne nutně i v případě hi-end modelů, i když pokud jim bude stačit 21 Gb/s na pin, proč ne? Na druhou stranu, v případě stávající 384bitové sběrnice by to pro nástupkyni karty RTX 3090 znamenalo jen mírný posun na 1008 GB/s, takže je pravděpodobné, že přijdou ještě lepší paměti, možná GDDR7 s ještě vyšší propustností než 21 Gb/s?