Architektura Turing TU102
Všichni čtenáři GPUreport se konečně dočkali. Dnes si totiž na GPUreport představíme tu vůbec nejvýkonnější grafickou kartu současnosti, která se navíc může chlubit také podporou akcelerace real-time raytracingu ve hrách. O jakou kartu se vlastně jedná asi nemusíte příliš dlouho přemýšlet. Ano, dnes představíme grafickou kartu GeForce RTX 2080 Ti, konkrétně v podání společnosti Gigabyte a její Gigabyte RTX 2080 Ti Gaming OC 11G.
Dříve ale, nežli si tuto grafickou kartu představíme a také řádně otestujeme, nebylo by asi od věci si nejdříve grafický čip TU102, na kterém jsou založeny všechny grafické karty GeForce RTX 2080 Ti, trochu popsat a osvětlit si, jak vůbec grafická karta GeForce RTX 2080 Ti ke svým specifikacím přišla. A jako obvykle, k obeznámení věcí kolem architektury tohoto čipu nám dobře poslouží zejména jeho blokové schéma, no a jistě nezbytných bude také trochu těch znalostí kolem grafické pipeline.
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í čipu je 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.
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 TU102 se skládá z celkem šesti GPC, tedy naprosto shodně s minule popisovaným grafickým čipem TU104. Kdo četl popis grafické pipeline, jistě již ví, že v případě GPC 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 tedy 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). Zde je asi ten největší rozdíl oproti grafickému čipu TU104 (RTX 2080), který disponuje v každém GPC pouze 4 jednotkami TPC.
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
Jednotky SM jsou základním kamenem architektury Turing a jsou stejné napříč všemi jejími grafickými čipy a tedy i TU102. Každá jednotka SM se (krom jiného) skládá ze čtyř bloků po 16 výpočetních jednotkách FP32 (CUDA Core), 256 KB registru, 96 KB sdílené paměti, 96 KB L1 Cache a 4 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ě. Nově pak v SM každého Turingu naleznete také výpočetní jednotky typu INT32 pro práci s celočíselnými operacemi, Tensor Cores určené pro tensor/maticové operace strojového učení a konečně také jednu výpočetní jednotku 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.
Každá jednotka SM jako celek tedy disponuje 64x CUDA Cores, 8x Tensor Cores, 1x RT Core a 4x TMU. Pokud tedy GPC u TU102 obsahuje celkem 6 bloků TPC, můžeme říci, že každý GPC obsahuje jeden rasterizér, 6x Polymorph Engine a 12x SM s 768x CUDA Cores, 48x TMUs, 96x 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šak součástí GPC nejsou. ROP jednotky jsou totiž u Turingu, stejně jako u předchozích generací, napojeny na paměťový subsystém framebufferu.
Framebuffer (VRAM)
Grafický čip disponuje celkem dvanácti 32-bit řadiči paměti (384-bit celkem). Na každý paměťový řadič je navázáno 8x ROP jednotek a 512 KB L2 Cache, což v celku představuje 96 ROPs a 6144 KB L2 Cache. Paměťové řadiče podporují paměti typu GDDR6. Každá jednotka ROP se může v jednom taktu postarat o 1 pixel, což při celkovém počtu 96 ROPs představuje výkon 96 (32-bit) pixelů na takt.
Pokud tedy víme, co vše obsahuje jeden blok GPC, vlastně si již sami můžeme spočítat, co obsahuje celý grafický čip TU102, který má v plné konfiguraci takovýchto GPC bloků celkem 6.
- GPC: 6x
- SM: 72x
- CUDA Cores: 4608x
- Tensor Cores: 576
- RT Cores: 72
- TMUs: 288x
- ROPs: 96x
Bohužel, grafická karta GeForce RTX 2080 Ti na trh nepřichází s čipem v plné konfiguraci. Grafický čip TU102-300A-K1-A1 byl lehce oříznut o dva bloky TPC a jeden paměťový řadič s 8 ROPs, a tak ve finále musíme ze specifikací odečíst 256x Cuda Cores, 32x Tensor Cores, 4x RT Cores , 16x TMU a 2x Polymorph Engine. Jak tedy vypadají konečné specifikace grafické karty GeForce RTX 2080 Ti?
SPECIFIKACE NVIDIA GEFORCE RTX 2080 |
|
RTX 2080 Ti |
GTX 2080 |
GTX 1080 Ti |
CUDA Cores |
4352 |
2944 |
3584 |
RT Cores |
68 |
46 |
0 |
Tensor Cores |
544 |
368 |
0 |
TMUs |
272 |
184 |
224 |
ROPs |
88 |
64 |
88 |
Base Clock |
1350 MHz |
1515 MHz |
1480 MHz |
Boost Clock |
1545*/1635** MHz |
1710*/1800** MHz |
1582** MHz |
Memory Clock |
14Gbps GDDR6 |
14Gbps GDDR6 |
11Gbps GDDR5X |
Memory Bus Width |
352-bit |
256-bit |
352-bit |
VRAM |
11GB |
8GB |
11GB |
TDP |
250*/260** W |
215*/225** W |
250** W |
Transistors |
18.6B |
13.6B |
12B |
Architecture |
Turing |
Turing |
Pascal |
Manufacturing Process |
TSMC 12nm FinFET |
TSMC 12nm FinFET |
TSMC 16nm FinFET |
* reference ** founders |
Kromě nové architektury přináší Turing také nějaké nové technologie. Krom té technologie asi nejdůležitější, kterou je dozajista podpora akcelerace real-time raytracingu, dalšími novinkami v softwareové části jsou pak především Mesh Shading, Variable Rate Shading, Texture-space Shading či Multi-view rendering. Z těch nových technologií, které se týkají spíše hardwarové části, je pak dobré zmínit zejména NVIDIA NVLink, USB-C VirtualLink či vylepšení NVENC. Tyto nové technologie jsme si již podrobněji popsali při uvedení grafické karty GeForce RTX 2080 v kapitole „Nové technologie Turingů“ a nemá tedy asi cenu vše znovu opakovat. Pojďme si raději grafickou kartu Gigabyte RTX 2080 Ti Gaming OC 11G pěkně
představit.