Architektura Ampere GA102
Dříve, nežli si dnes grafickou kartu Gigabyte RTX 3090 Ti GAMING OC 24G představíme a také řádně otestujeme, nebylo by asi od věci si grafický čip GA102 ve verzi GA102-350-A1, na kterém jsou založeny právě grafické karty GeForce RTX 3090 Ti, trochu popsat a osvětlit. A že to nebude nic složitého, o tom vás přesvědčím hnedle a bude mi k tomu stačit jen několik blokových schémat grafického čipu GA102, ze kterých bude snad každému ihned jasné, v čem spočívá rozdíl mezi grafickými kartami GeForce RTX 3090 Ti, GeForce RTX 3090, GeForce RTX 3080 Ti, GeForce RTX 3080 12G a GeForce RTX 3080 10GB. Pojďme se na to tedy podívat.
Blokové schéma
Frontend
Stejně jako u předchozích generací, každý grafický čip musí nějaká data přijímat, následně rozdělovat úkoly a řídit práci podřízených jednotek. Tuto činnost má na starosti Frontend grafického čipu, který je již od dob architektury Fermi tvořen jednotkami Host Interface a GigaThread engine. Zatímco pomocí Host Interface jsou přenášeny příkazy z CPU pomocí PCI Express, Gigathread engine je zodpovědný za vlastní logiku přenosu dat z RAM do VRAM a především také za plánování a rozdělování práce na jednotlivé další podřízené jednotky. Vlastní řízení grafického čipu je pak práce velmi sofistikovaná a ne nepodobná práci CPU. Každý výrobce se tedy o bližší informace jen nerad dělí a nejinak tomu je právě v případě NVIDIA.
První změnou, které jsme se v generaci Ampere dočkali, je povýšení sběrnice PCI Express na výkonnější verzi PCIe 4.0. Toho mohou samozřejmě využít všichni majitelé základních desek právě s podporou PCIe 4.0 (v současnosti jen AMD Ryzen).
Graphics Processing Cluster (GPC)
V hierarchii blokového schéma je první podřízenou jednotkou Gigathread engine jednotka s názvem Graphics Processing Cluster, neboli GPC. Grafický čip GA102 se skládá celkem ze sedmi GPC, které mají obdobnou funkci jako Shader Array v konkurenční architektuře GCN. Kdo četl popis grafické pipeline, jistě již ví, že se jedná o jakousi kompletní grafickou pipeline, kde se primitiva přeměňují v pixely, ze kterých je pak složen celý hotový snímek a zobrazen na vašem monitoru.
Každý GPC obsahuje jednu rasterizační jednotku (Raster engine), která spolupracuje s celkem 6 bloky TPC (Texture/Processor Cluster), ve kterých jsou sdruženy jednotky Polymorph Engine a vždy po dvou jednotkách Streaming Multiprocessors (SM).
Zatímco Polymorph Engine obsahuje fixní jednotky, které se starají o geometrii (Vertex Fetch, Tessellator, Stream Output atd.), SM jednotky jsou jednotkami naopak programovatelnými, na kterých je možné spouštět shadery (programy běžící na GPU).
Streaming Multiprocessor (SM)
Každá jednotka SM se (krom jiného) skládá ze čtyř bloků po 32 výpočetních jednotkách FP32 (CUDA Core), 16 jednotkách INT32 a jedné výpočetní jednotky Tensor Core třetí generace, určené pro tensor/maticové operace strojového učení. Všechny tyto bloky jsou pak propojeny přes sdílenou pamětí $L1 Data Cache (128KB).
Počet jednotek TMU (Texture Mapping Units), které využívají právě shadery k bezstarostnější práci s texturami, nebo raději 2D obrázky obecně, zůstal ve stejném počtu (4x TMU) a stejně tak je zde přítomna i jediná výpočetní jednotka RT Core, která je určena speciálně na výpočty Raytracingu, tedy na výpočty dráhy paprsku a detekci kolizí s 3D objekty scény.
Jak můžete vidět, právě v těchto výpočetních jednotkách došlo asi k té nejdramatičtější změně. Počet výpočetních jednotek FP32 (CUDA Cores) se nám totiž oproti generaci Turing zdvojnásobil. Má to však jeden háček, přidané jednotky FP32 sdílejí datapath (propojení) s jednotkami INT32, takže v jednom taktu mohou být využity buďto jednotky FP32 nebo jednotky INT32. Další změnou jsou pak výpočetní jednotky Tensor Cores, které by měli být v této třetí generaci 2x výkonnější, a stejně tak by měly být dvakrát výkonnější i výpočetní jednotky RT Cores druhé generace.
Spočítáme-li to dohromady, pak každá jednotka SM jako celek tedy disponuje 128x CUDA Cores, 4x Tensor Cores, 1x RT Core a 4x TMU. Pokud tedy GPC obsahuje celkem 6 bloků TPC, můžeme říci, že každý GPC obsahuje jeden rasterizér, 6x Polymorph Engine a 12x SM s 1536x CUDA Cores, 48x TMUs, 48x Tensor Cores a konečně také 12x RT Cores.
Každý GPC se může na vstupu postarat v jednom taktu o jeden primitivní trojúhelník (Triangle) a jeho výstupem jsou pak pixely, které je ale třeba ještě nějakým způsobem finalizovat (Blending, Z buffering atd.) a následně zapsat do framebufferu (Render Target). O tuto finalizaci a ukládání se starají jednotky s názvem Raster Operations Pipeline (ROP), které v generaci Ampere doznaly také změny a nyní jsou přímou součástí bloku GPC (u Turingu byly součástí framebufferu). Každý GPC obsahuje dva samostatné bloky po 8 ROPs, tedy celkem 16 ROPs, které se tedy umí postarat o 16 pixelů na takt.
Framebuffer (VRAM)
Grafický čip GA102 disponuje celkem dvanácti 32-bit řadiči paměti (384-bit celkem) a 6MB $L2 Cache. Paměťové řadiče podporují nejnovější paměti typu GDDR6X, které byly vyvinuty v kooperaci se společností Micron a podporují technologii PAM4 (Pulse Amplitude Modulation-4). Právě díky technologii PAM4 může být přenášeno dvojnásobné množství dat při nižší spotřebě, ovšem také při nižší frekvenci. Micron nabízí paměti GDDR6X o efektivní frekvenci až 21 GHz, a právě tyto nejvýkonnější paměti byly využity v případě grafické karty GeForce RTX 3090 Ti.
Pokud tedy víme, co vše obsahuje jeden blok GPC, vlastně si již sami můžeme spočítat, co obsahuje celý grafický čip GA102, který má v plné konfiguraci takovýchto GPC bloků celkem 7.
- GPC: 7x
- TPC: 42x
- SM: 84x
- CUDA Cores: 10752x
- Tensor Cores: 336x
- RT Cores: 84x
- TMUs: 336x
- ROPs: 112x
SPECIFIKACE NVIDIA GEFORCE RTX 3090 Ti |
|
RTX 3090 Ti |
RTX 3090 |
RTX 3080 Ti |
RTX 3080 12GB |
RTX 3080 |
CUDA Cores |
10752 |
10496 |
10240 |
8960 |
8704 |
RT Cores |
84 |
82 |
80 |
70 |
68 |
Tensor Cores |
336 |
328 |
320 |
280 |
272 |
TMUs |
336 |
328 |
320 |
280 |
272 |
ROPs |
112 |
112 |
112 |
112 |
96 |
Base Clock |
1560 MHz |
1395 MHz |
1365 MHz |
1260 MHz |
1440 MHz |
Boost Clock |
1860 MHz |
1695 MHz |
1665 MHz |
1710 MHz |
1710 MHz |
Memory Clock |
21 Gbps GDDR6X |
19,5Gbps GDDR6X |
19Gbps GDDR6X |
19Gbps GDDR6X |
19Gbps GDDR6X |
Memory Bus |
384-bit |
384-bit |
384-bit |
384-bit |
320-bit |
VRAM |
24GB |
24GB |
12GB |
12GB |
10GB |
TDP |
450 W |
350 W |
350 W |
350 W |
320 W |
Transistors |
28B |
28B |
28B |
28B |
28B |
Architecture |
Ampere |
Ampere |
Ampere |
Ampere |
Ampere |
Process |
Samsung
8nm |
Samsung
8nm |
Samsung
8nm |
Samsung
8nm |
Samsung
8nm |
* reference ** founders |
Jak můžete vidět, grafické karty GeForce RTX 3090 Ti využívají grafický čip GA102 v plné konfiguraci a k tomu navíc také nejrychlejší 21 Gbps grafické paměti GDDR6X. Je tak jasné, že by právě GeForce RTX 3090 Ti měly být ty absolutně nejvýkonnější grafické karty generace AMPERE společnosti NVIDIA. Jakým výkonem budou tedy disponovat? I to si dnes otestujeme!
Ampere a nové technologie
Grafické karty Ampere přinášejí také nějaké nové technologie, i když to samozřejmě není nic tak přelomového, jako tomu bylo v případě grafických karet Turing, které s sebou přinesly jako první podporu výpočtů real-time raytracingu a DLSS (Deep Lerning Super Sampling). Ať už se ale jedná o technologie nové či starší věřte, že grafické karty generace Ampere jsou na budoucích pár let hraní vybaveny velmi dobře. Tady je takový stručný výpis toho, s čím budete moci u grafických karet Ampere počítat:
- úplná podpora DirectX 12 Ultimate (Ray-tracing, VRS, Mesh shader, sampler Feedback)
- podpora DLSS (proprietární technologie NVIDIA )
- hardwarová akcelerace RT Motion blur (novinka v RT)
- Simultaneous Compute and Graphics (SCG) - souběžné zpracování Graphics + RT + DLSS operací
- RTX IO (podpora Microsoft DirectStorage)
- HDMI 2.1 (přednos signálu až 8K/60Hz)
- DisplayPort 1.4a (přednos signálu až 8K/60Hz)
- NVDEC (s podporou formátů HEVC, VP9, H264 a AV1)
Tak, to by bylo na úvod dnešní recenze asi vše a teď si již pojďme grafickou kartu Gigabyte RTX 3090 Ti GAMING OC 24G konečně představit.