Architektura Ampere GA102
Dříve, nežli si dnes grafickou kartu MSI RTX 3080 SUPRIM X 12G představíme a také řádně otestujeme, nebylo by asi od věci si grafický čip GA102 ve verzi GA102-220-A1, na kterém jsou založeny právě grafické karty GeForce RTX 3080 12GB, 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, GeForce RTX 3080 Ti, GeForce RTX 3080 a nové GeForce RTX 3080 12GB. 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. Ačkoliv Micron nabízí paměti GDDR6X o efektivní frekvenci až 21 GHz, u nejvyššího modelu GeForce RTX 3090 se dočkáme „pouhých“ 19,5 GHz a u modelů GeForce RTX 3080/Ti pak 19 GHz.
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
GA102-220-A1 (GeForce RTX 3080 12GB)
Grafická karta GeForce RTX 3080 12GB však na trh nepřichází s čipem v plné konfiguraci. Grafický čip GA102-220-A1 byl „oříznut“ o sedm bloků TPC. Ve finále tak musíme ze specifikací odečíst 7x TPC, tedy 14x SM s celkem 1792x Cuda Cores, 14x RT Cores, 40x Tensor Cores a 40x TMUs. Na "oříznutí" framebuferu tentokrát nedošlo. Jak tedy vypadají konečné specifikace grafické karty GeForce RTX 3080 12GB?
SPECIFIKACE NVIDIA GEFORCE RTX 3080 12GB |
|
RTX 3090 |
RTX 3080 Ti |
RTX 3080 12GB |
RTX 3080 |
CUDA Cores |
10496 |
10240 |
8960 |
8704 |
RT Cores |
82 |
80 |
70 |
68 |
Tensor Cores |
328 |
320 |
280 |
272 |
TMUs |
328 |
320 |
280 |
272 |
ROPs |
112 |
112 |
112 |
96 |
Base Clock |
1395 MHz |
1365 MHz |
1260 MHz |
1440 MHz |
Boost Clock |
1695 MHz |
1665 MHz |
1710 MHz |
1710 MHz |
Memory Clock |
19,5Gbps GDDR6X |
19Gbps GDDR6X |
19Gbps GDDR6X |
19Gbps GDDR6X |
Memory Bus Width |
384-bit |
384-bit |
384-bit |
320-bit |
VRAM |
24GB |
12GB |
12GB |
10GB |
TDP |
350 W |
350 W |
350 W |
320 W |
Transistors |
28B |
28B |
28B |
28B |
Architecture |
Ampere |
Ampere |
Ampere |
Ampere |
Manufacturing Process |
Samsung 8nm |
Samsung 8nm |
Samsung 8nm |
Samsung 8nm |
* reference ** founders |
Jak můžete vidět, počtem CUDA Cores, ROPs, TMUs, RT Cores, či kapacitou a šířkou sběrnice grafických pamětí jsou nové GeForce RTX 3080 12GB podobny nejblíže GeForce RTX 3080 Ti a tedy můžeme počítat i s velmi podobným výkonem ve hrách. Jaký bude mezi těmito dvěma kartami výkonnostní rozdíl? Tak to si právě dnes otestujeme!
Za zmínku také stojí další pokus společnosti NVIDIA o umělé snížení hashrate pro těžbu Etherea (a podobných kryptoměn). V případě grafických karet GeForce RTX 3080 12GB je tento výkon uměle snížen na polovinu. Jak dlouho tato ochrana vydrží, či jestli těžaři nepřejdou na težbu jiné kryptoměny (jejíž hashrate není omezeno), to vše ukáže až čas. V každém případě, jak patrno, společnost NVIDIA se snaží touto grafickou kartou vyjít vstříc zejména všem hráčům počítačových her a to se musí ocenit.
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 MSI RTX 3080 SUPRIM X 12G konečně představit.