Sledovali jste pověsti a ignorovali humbuk; čekal jsi komentáře a podíval se na všechny metriky. Nakonec jste vyfackali dolary a odešli s jednou z nejnovějších grafických karet od AMD nebo Nvidia. Mezi nimi je masivní GPU nabitý miliardami tranzistorů, které běží před takovými deseti lety nepředstavitelnými hodinovými rychlostmi.

Se svým nákupem jste opravdu spokojeni a hry nevypadaly ani nehrály lépe. Možná vás ale zajímá, co přesně pohání váš nový Radeon. RX 5700 a jak odlišný na čipu GeForce RTX.

AMD vs Nvidia: Vítejte v porovnání architektury a funkcí nejnovějších GPU od Navi vs Turing.

Moderní anatomie GPU

Než začneme rozebrat běžné struktury a systémy čipů, podívejme se na základní formát, který dodržují všechny moderní GPU. Tyto procesory jsou většinou jen kalkulačky s plovoucí desetinnou čárkou (FP); to znamená, že dělají matematické operace na desítkové / zlomkové hodnoty. Takže alespoň GPU by měla mít logickou jednotku vyhrazenou pro tyto úkoly, a ty jsou obvykle FP ALU (aritmetické logické jednotky s plovoucí desetinnou čárkou) nebo zkráceně FPU. Ne všechny výpočty GPU jsou v hodnotách dat FP, takže zde bude také ALU pro celé číslo (celé číslo) mohou být matematické operace nebo stejná jednotka, která zpracovává oba datové typy.

Nyní tyto logické jednotky budou potřebovat něco, co by je uspořádalo dekódováním a uspořádáním, aby bylo stále zaneprázdněno, a to bude v podobě alespoň jedné speciální skupiny logických jednotek. Na rozdíl od ALU nejsou programovatelné koncovým uživatelem; místo toho dodavatel hardwaru zajistí, aby byl tento proces plně spravován GPU a jeho ovladači.



Musí také existovat nějaký druh struktury paměti pro uložení těchto pokynů a dat, která je třeba zpracovat. Na nejjednodušší úrovni by to mělo dvě podoby: mezipaměti a jeden bod lokální paměť. První z nich bude vložen do GPU a OSTUDA. Tento typ paměti je rychlý, ale zabírá relativně velkou část rozložení procesoru. lokální paměť DRAMAJe o něco pomalejší než SRAM a obvykle se do GPU nevkládá. Nativní paměť na většině grafických karet, které dnes vidíme GDDR Moduly DRAM.

Nakonec obsahuje další ladicí úkoly, jako je vytváření 3D grafiky, vytváření trojúhelníků z vrcholů, rastrování 3D rámečku, vzorkování a míchání textur. Stejně jako instrukční a řídicí jednotky i tyto pevná funkce v přírodě. To, co dělají a jak pracují, je zcela transparentní pro uživatele, kteří programují a používají GPU.

Dáme to dohromady a vytvoříme GPU:



Oranžový blok je jednotka, která zpracovává textury pomocí tzv jednotky mapování textury (TMU'lar) - TA adresování textury svazek - vytvoří paměťová místa pro použití mezipaměti a místní paměti - a TF načtení textury shromažďuje hodnoty textury z paměti a agreguje je. TMU jsou dnes téměř stejné u všech prodejců, protože mohou zpracovávat, vzorkovat a míchat více hodnot textury na taktovací cyklus GPU.

Níže uvedený blok zapíše barevné hodnoty pixelů do rámečku, provede jejich zpětné vzorkování (PO) a jejich mixování (PB); tento blok také provádí operace používané při použití vyhlazování. Název tohoto bloku: vykreslení výstupní jednotky or vytvořit backend (Zkráceně ROP / RB). Stejně jako TMU se nyní stávají poměrně standardními a každý pohodlně zvládá několik pixelů za taktovací cyklus.

To znamená, že naše základní GPU by byla hrozná, dokonce i podle standardů před 13 lety. Proč?

Existuje pouze jeden FPU, TMU a ROP. Grafické procesory jako Nvidia GeForce 8800 GTX v roce 2006 měly 128, 32 a 24 v uvedeném pořadí. Začněme s tím tedy něco dělat ....

Jako každý dobrý výrobce procesorů jsme aktualizovali GPU přidáním dalších jednotek. To znamená, že čip dokáže zpracovat více pokynů současně. Abychom tomu pomohli, přidali jsme další mezipaměť, ale tentokrát hned vedle logických jednotek. Čím blíže je mezipaměť ke struktuře kalkulačky, tím rychleji ji lze inicializovat při operacích, které jsou jí přiřazeny.

Problém s naším novým designem spočívá v tom, že stále existuje pouze jeden řadič, který zvládne naše další ALU. Bylo by lepší, kdybychom měli více bloků jednotek, všechny spravované jejich vlastními samostatnými řadiči, protože to znamená, že můžeme provádět velmi odlišné operace současně.

Nyní je to víc! Jednotlivé bloky ALU vybavené vlastními TMU a ROP a podporované lahodně chutnými a rychlými řezy mezipaměti. Všechno je stále jen jedno, ale základní sestavení není vzdálené miliony mil od grafického procesoru, který dnes vidíme v počítačích a konzolách.

Navi ve Turing: Godzilla GPU'ları

Nyní, když jsme definovali základní rozložení grafického čipu, je zde několik obrázků skutečných čipů, i když mírně zvětšených a vykreslených pro zvýraznění různých struktur, stejně jako Navi vs. Začněme naše Turingovo srovnání.

Vlevo je nejnovější procesor AMD. Celkový design čipu se nazývá Navi (někteří jej nazývají Navi 10) a grafická architektura se nazývá RDNA. Vedle vpravo je procesor Nvidia TU102 v plné velikosti s nejnovější architekturou Turing. Je důležité si uvědomit, že tyto obrázky nejsou zmenšeny: plocha vzoru Navi je 251 mm2, zatímco TU102 je 752 mm2. Procesor Nvidia je velký, ale ne 8x větší než nabídka AMD!

Oba kolosální počet tranzistorů (18,6 miliard oproti 10,3), ale TU102 má v průměru ~ 25 milionů tranzistorů na čtvereční mm, ve srovnání s 41 miliony Navi na čtvereční mm.

Důvodem je to, že zatímco oba čipy vyrábí společnost TSMC, vyrábějí se na různých procesních uzlech: Turing společnosti Nvidia je na zralé 12 nm výrobní lince, zatímco AMD Navi je postavena na novějším 7 nm uzlu.

Pouhý pohled na obrázky vzorů nám toho o architekturách moc neřekne, pojďme se tedy podívat na bloková schémata GPU vytvořená oběma společnostmi.

Diagramy nejsou 100% realistickým znázorněním skutečných rozvržení, ale pokud je otočíte o 90 stupňů, lze identifikovat různé bloky a střední pruhy, které se v obou objeví. Za prvé můžeme vidět, že tyto dva GPU mají obecnou sestavu jako ta naše (i když víc než cokoli jiného!).

Oba designy využívají vrstvený přístup k tomu, jak je vše organizováno a seskupeno - pro zahájení používání Navi se GPU skládá ze 2 bloků, které AMD hledá Shader Engines (SE), z nichž každý se nazývá 2 bloky asynchronní Výpočetní motory (ESO). Každý z nich obsahuje 5 bloků v záhlaví. Procesory pracovní skupiny (WGP), který se skládá ze 2 Jednotky pro zpracování informací (Podstata).

U Turingova návrhu jsou jména a čísla různá, ale hierarchie je velmi podobná: 6 Sady vykreslování grafiky (GPC), každý po 6 Sady vykreslování textur (TPC), po 2 kusech Streamování více procesorů (SM) bloky.

Pokud se na GPU díváte jako na velkou továrnu, kde různé divize vyrábějí různé produkty ze stejných surovin, začíná mít tato organizace smysl. Generální ředitel továrny odešle všechny provozní podrobnosti do podniku, který je poté rozdělen na různé úkoly a pracovní vytížení. Tím, že máte více než jednu, nezávislý V továrně byla zvýšena produktivita pracovní síly. Zde se neliší od GPU a kouzelného klíčového slova načasování.

Přední a středový oddíl, načasování a odeslání

Jak vypadáme Studie tvorby 3D herViděli jsme, že GPU není nic jiného než superrychlá kalkulačka provádějící řadu matematických operací s miliony dat. Navi a Turing jsou klasifikovány jako: Více příkazů s jedním příkazem (SIMD) procesory, ale lepší vysvětlení je Unidirectional Multi Vlákno (Smysl).

Moderní 3D hra generuje stovky vláken, někdy i tisíce, protože počet vrcholů a pixelů ke zpracování je enormní. Aby to bylo vše hotové během několika mikrosekund, je důležité mít co nejvíce logických jednotek, aniž by se vše zastavilo, protože požadovaná data nejsou na správném místě nebo v nich není dostatek prostoru pro práci.

Když jsme se podívali na to, jak tvorba 3D her funguje, viděli jsme, že GPU není nic jiného než opravdu rychlá kalkulačka, a dělali jsme různé matematické operace s miliony dat. Navi a Turing jsou klasifikovány jako procesory Single Command Multiple Data (SIMD), ale lepší popis by byl Single Command Multiple Threads (SIMT).

Navi a Turing fungují podobně, takže centrální jednotka převezme všechna vlákna a poté je začne programovat a vysílat. V čipu AMD tato role Grafický procesor příkazů; Nvidia'da, GigaThread Motoru. Vlákna jsou uspořádána tak, aby ta se stejnými pokyny byla seskupena do kolekce 32 skupin.

AMD tuto kolekci mávatzatímco Nvidia zakřivení. Pro Navi dokáže výpočetní jednotka zpracovat 2 vlny (nebo 64 vláken, ale to trvá dvakrát déle) a Stream Multiprocesor v Turingu se 4 warpy. Oba návrhy jsou nezávislé na vlnách / warpech, což znamená, že ostatní nemusí dokončit, než začnou.

Do té doby se mezi Navi a Turingem příliš neliší - oba jsou navrženy tak, aby zvládly více vláken za účelem vytvoření a výpočtu pracovních zátěží. Abychom zjistili, kde se oba giganti GPU liší v designu, musíme se podívat na to, u kterých procesorů jsou tato vlákna.

Výkonný rozdíl - RDNA a CUDA

Zatímco většina použité terminologie se zdá být stejná, AMD a Nvidia používají zcela odlišný přístup ke složeným shaderovým jednotkám. Popravní jednotky Nvidia (ZÁZRAKY jádra) digitální v přírodě - to znamená, že jednotka provádí matematickou operaci s datovou komponentou; na rozdíl od jednotek AMD (Stream procesory) pracovat na vektory - operace s více než jednou datovou komponentou. Pro skalární operace existuje pouze jedna speciální jednotka.

Než se podrobněji podíváme na výkonné jednotky, prozkoumejme vlastní úpravy AMD. Po dobu 7 let následovaly grafické karty Radeon architekturu nazvanou Graphics Core Next (GCN). Každý nový čip revidoval různé aspekty designu, ale všechny byly v zásadě stejné.

AMD poskytlo krátkou historii architektury GPU:

GCN byl vývojem TeraScale, designu, který umožňoval současné zpracování velkých vln. Hlavní problém s TeraScale spočíval v tom, že nebyl příliš přátelský vůči programátorům a potřeboval velmi specifické rutiny, aby z toho získal to nejlepší. GCN to napravilo a poskytlo mnohem přístupnější platformu.

CU v Navi byly významně revidovány z GCN jako součást procesu vylepšování AMD. Každá CU obsahuje dvě sady:

  • 32 SP (IEE754 FP32 a INT32 vektorové ALU)
  • 1 SFU
  • 1 INT32 váhy ALU
  • 1 jednotka načasování a odeslání

Každá CU navíc obsahuje 4 tkáňové jednotky. Existují i ​​jiné jednotky, které provádějí operace čtení a zápisu dat z mezipaměti, ale nejsou zobrazeny na obrázku níže:

Ve srovnání s GCN nemusí nastavení RDNA CU vypadat moc odlišně, ale tak je zde uspořádáno a uspořádáno vše důležité. Za prvé, každá sada 32 SP má svou vlastní specifickou instrukční jednotku, GCN měla pouze jeden program pro 4 sady 16 SP.

Toto je významná změna, což znamená, že do každé sady SP lze dodat jednu vlnu vlákna 32 za taktovací cyklus. Architektura RDNA také umožňuje vektorovým jednotkám zpracovávat 16vláknové vlny dvojnásobnou rychlostí a 64vláknové vlny poloviční, takže je stále podporován kód napsaný pro všechny předchozí grafické karty Radeon.

Pro vývojáře her budou tyto změny velmi populární.

Pro skalární operace jsou nyní dvě jednotky, které je zvládnou; jediné snížení počtu komponent je ve formě SFU - to jsou speciální funkce Jednotky, který provádí velmi specifické matematické operace, např. trigonometrické (sinusové, tečné), reciproční (dělené číslem) a druhé odmocniny. RDNA jich má ve srovnání s GCN méně, ale nyní mohou běžet na datových sadách dvakrát větší než dříve.

Pro vývojáře her budou tyto změny velmi populární. Na starších grafických kartách Radeon bylo mnoho potenciálního výkonu, ale bylo to velmi obtížné. Společnost AMD nyní učinila velký krok směrem ke snížení latence v pokynech ke zpracování a zachování funkcí k zajištění zpětné kompatibility pro všechny programy určené pro architekturu GCN.

Ale co profesionální grafika nebo výpočetní trh? Jsou tyto změny přínosné i pro ně?

Krátká odpověď je ano (pravděpodobně). Zatímco aktuální verze čipu Navi nalezená u protějšků Radeon RX 5700 XT má méně procesorů Stream než předchozí design Vega, jsme si vedli lépe Předchozí generace Radeon RX Vega 56 je docela přímočará:

Část tohoto zvýšení výkonu bude pocházet z RX Vega 56, vyššího taktu RX 5700 XT (takže může do místní paměti zapsat více pixelů za sekundu), ale poklesne až o 15% při špičkovém celočíselném a plovoucím výkonu; Zjistili jsme však, že čip Navi překonal Vega o 18%.

Vědci, kteří provozují profesionální vykreslovací programy a složité algoritmy, nevybuchnou při několika kolech Battlefield V v práci (tj. možná...) pouze pokud jsou skalární, vektorové a maticové operace v herním enginu zpracovány rychleji, loď na výpočetní trh. V tuto chvíli nevíme, jaké jsou plány AMD pro profesionální trh - mohou dobře pokračovat s architekturou Vega a pomáhat zlepšovat design, výrobu, ale vzhledem k vylepšením v Navi by společnost měla vše přesunout na novou architekturu .

Návrh GPU Nvidia prošel podobným vývojem od roku 2006, kdy uvedli řadu GeForce 8, i když s méně radikálními změnami než AMD. Tento GPU byl první architekturou Tesla, která při provádění architektury používala přístup shaderu. Níže vidíme změny v blocích SM od nástupce Tesly (Fermi) po Turingova předchůdce (Volta):

Jak již bylo zmíněno dříve v tomto článku, jádra CUDA digitální. Mohou provést jednu floatovou a jednu celočíselnou instrukci za hodinový cyklus v datové komponentě (všimněte si však, že samotná instrukce může trvat několik hodinových cyklů, které mají být zpracovány), ale časovací jednotky je uspořádají do skupin a dávají vektorové operace programátoru. Nejvýznamnější změna v průběhu let, kromě toho, že se jedná o více jednotek, zahrnuje i to, jak jsou organizovány a rozděleny.

V designu Kepler měl plný čip 5 GPC, každý se třemi bloky SM; Když se objevil Pascal, GPC byly rozděleny do samostatných oddílů (TPC) se dvěma SM na TPC. Stejně jako v designu Navi. tato fragmentace je důležitá, protože umožňuje maximální využití celkového GPU; paralelně lze zpracovat několik nezávislých skupin instrukcí, což zvyšuje stínování a výpočetní výkon procesoru.

Pojďme se podívat na Turingův ekvivalent s výpočetní jednotkou RDNA:

SM obsahuje 4 transakční bloky, z nichž každý obsahuje:

  • 1 jednotka plánování a expedice instrukcí
  • 16 IEE754 FP32 váhy ALU
  • 16 INT32 vah ALU
  • 2 barvy tenzoru
  • 4 SFU
  • 4 Načtení / úložiště (které zpracovává čtení / zápis do mezipaměti)

K dispozici jsou také 2 jednotky FP64 na SM, ale Nvidia je již nezobrazuje ve svých blokových diagramech a každý SM má 4 jednotky textury (obsahující systémy adresování textury a filtrování textury) a 1 jádro RT (Ray Tracing).

Jednotky FP32 a INT32 ALU mohou pracovat současně a paralelně. Toto je důležitá vlastnost, protože i když 3D vykreslovací stroje často vyžadují výpočty s plovoucí desetinnou čárkou, je třeba udělat slušný počet jednoduchých celočíselných operací (např. Výpočty datové adresy).

Tenzorová jádra jsou speciální ALU, které provádějí maticové operace. Matice jsou „čtvercová“ datová pole a jádra Tensor běží na maticích 4 x 4. FP16 je navržen tak, aby zpracovával datové komponenty INT8 nebo INT4 takovým způsobem, že floatový provoz nastane na 64 FMA (fused multiply-post-addition) v jednom hodinovém cyklu. Tento typ výpočtu je tzv neuronové sítě a odvození - není to úplně běžné ve 3D hrách, ale je to hodně používáno lidmi jako Facebook ve vozidlech s algoritmy analýzy sociálních médií nebo systémy s vlastním řízením. Navi může také provádět maticové výpočty, ale vyžaduje pro to hodně SP; V systému Turing lze provádět maticové operace, zatímco jádra CUDA provádějí jinou matematiku.

RT Core je další proprietární jednotka architektury Turing, která provádí velmi specifické matematické algoritmy používané pro systém sledování paprsků Nvidia. Úplná analýza je nad rámec tohoto článku, ale RT Core jsou dva systémy, které fungují samostatně pro zbytek SM, takže může pracovat na shaderech vrcholů nebo pixelů, zatímco RT Core je zaneprázdněn výpočty. pro sledování paprsku.

Na základní úrovni mají Navi a Turing prováděcí jednotky, které nabízejí docela podobnou sadu funkcí (požadavek, který vyplývá z dodržování požadavků Direct3D, OpenGL atd.) ...

Na základní úrovni mají Navi a Turing prováděcí jednotky, které nabízejí poměrně podobnou sadu funkcí (požadavek, který vyplývá z dodržování požadavků Direct3D, OpenGL atd.), Ale k tomu, jak jsou tyto funkce, přistupují velmi odlišně. hotovo. Pokud jde o to, který design je lepší, přijde na to, jak se používají: program, který generuje vektorové výpočty FP32 a spoustu podprocesů, které provádějí málo, by raději Navi, zatímco program s různými celočíselnými, plovoucími řádky, skalárními a vektorovými výpočty by upřednostňovaly Turingovu flexibilitu atd.

Hierarchie paměti

Moderní GPU jsou procesory streamů, to znamená, že jsou navrženy k provádění řady operací s každým prvkem v datovém proudu. Díky tomu jsou méně flexibilní než univerzální CPU a také vyžaduje optimalizaci hierarchie paměti čipu, aby se data a pokyny dostaly k ALU co nejrychleji a v co největším počtu streamů. To znamená, že GPU budou mít méně mezipaměti než CPU, protože většina čipu musí být věnována množství mezipaměti, nikoli přístupu do mezipaměti.

AMD i Nvidia se uchylují k použití více mezipamětí v čipech, takže se pojďme podívat na to, co Navi balí jako první.

Počínaje nejnižší úrovní v hierarchii se ve dvou blocích streamových procesorů používá obvykle 256 kilogramů vektorových univerzálních registrů (obvykle log soubor) bylo stejné množství jako Vega, ale mezi 4 bloky SP; Docházení registrů při pokusu o zpracování velkého počtu vláken opravdu poškozuje výkon, takže je to určitě „dobrá věc“. AMD také výrazně zvětšila soubor skalárního registru. Kde dříve to byly jen 4 kiB, teď je to 32 kilogramů na skalární jednotku.

Tyto dvě výpočetní jednotky pak sdílejí mezipaměť L0 32 liber a skalární datovou mezipaměť 16 liber, ale každá CU získá vlastní mezipaměť L0 vektoru 32 liber; připojení celé této paměti k ALU je 128 liber sdílení místních dat.

V Navi dva výpočetní motory tvoří procesor pracovní skupiny a pět z nich tvoří Asynchronous Compute Engine (ACE). Každý ACE má přístup k vlastní 128palcové mezipaměti L1 a celý GPU je dále podporován mezipamětí 4 MiB L2, která se připojuje ke mezipaměti L1 a dalším částem procesoru.

Je to forma proprietární architektury konektivity Infinity Fabric společnosti AMD, protože systém je striktně používán ke zpracování 16 řadičů paměti GDDR6. K maximalizaci šířky pásma paměti používá Navi také bezztrátovou barevnou kompresi mezi L1, L2 a nativní pamětí GDDR6.

To vše je opět vítáno, zejména ve srovnání s předchozími čipy AMD, které neměly dostatek mezipaměti nízké úrovně pro počet stínovacích jednotek, které zahrnovaly. Stručně řečeno, více mezipaměti se rovná větší vnitřní šířce pásma, méně pomalé pokyny (protože musí načíst více dat z paměti) atd. A to se rovná lepšímu výkonu.

V Turingově hierarchii je třeba říci, že Nvidia je na straně plachých, pokud jde o poskytování hlubokých znalostí v této oblasti. Dříve v tomto článku jsme viděli, že každý SM je rozdělen do 4 transakčních bloků - každý s menším 64-librovým log souborem, než ten nalezený v Navi, ale mějte na paměti, že Turingovy ALU jsou skalární, ne vektorové. , Jednotky.

Dále lze pro každý SM použít 96 kB sdílené paměti, 64 kB mezipaměti dat L1 a 32 kB mezipaměti textur nebo další úložný prostor. V „výpočetním režimu“ lze sdílenou paměť rozdělit na různé oddíly, například 32 kB sdílenou paměť a 64 kB L1 mezipaměť, ale vždy se to dělí na 64 + 32 oddílů.

Nedostatek podrobností o soustružení paměťového systému nás nechal chtít víc, a tak jsme se obrátili na výzkumný tým GPU v Citadel Enterprise Americas. Nedávno publikovali dva články. Čas ve Turing jejich architektura; Na obrázku nahoře je fragmentace hierarchie paměti v čipu TU104 (plná mezipaměť TU102 6144 kiB L2).

Tým potvrdil, že propustnost mezipaměti L1 byla 64 bitů na cyklus, a poznamenal, že účinnost testované mezipaměti Luring Turing byla nejlepší ze všech GPU Nvidia. To je na stejné úrovni jako Navi, i když čip AMD má vyšší rychlost čtení pro Local Datastore, ale nižší rychlost pro instrukční / pevné mezipaměti.

Oba GPU používají pro nativní paměť GDDR6 - toto je nejnovější verze Graphics DDR SDRAM - a oba používají 32bitové připojení k paměťovým modulům, takže Radeon RX 5700 XT Má 256 paměťových čipů a poskytuje maximální šířku pásma 256 GiB / sa 8 GiB prostoru. jeden GeForce RTX 2080 Ti Funguje s čipem TU102, s 11 takovými moduly pro šířku pásma 352 GiB / s a ​​11 GiB úložiště.

Dokumentace AMD se může občas zdát matoucí: První blokové schéma, které vidíme, ukazuje, že Navi zobrazuje čtyři 64bitové řadiče paměti, zatímco pozdější obrázek ukazuje 16 řadičů. S ohledem na Samsung nabízí pouze 32bitové GDDR6 Druhý obrázek ukazuje, kolik připojení existuje mezi systémem Infinity Fabric a řadiči paměti. Pravděpodobně existují pouze 4 řadiče paměti a každý používá dva moduly.

Celkově se nezdá, že by mezi Navi a Turingem byl obrovský rozdíl, pokud jde o jejich mezipaměti a místní paměť. Naviho přístup k provádění stránky věcí s většími instrukčními / konstantními a L1 cache je o něco více, ale oba jsou plněny, oba používají barevnou kompresi, kde je to možné, a mají spoustu vyhrazených GPU umírá jak v přístupu do paměti, tak i v minulosti maximalizovat šířku pásma.

Trojúhelníky, textury a pixely

Před patnácti lety udělali výrobci GPU hodně toho, kolik trojúhelníků jejich čipy dokázaly vykreslit, počet prvků textury, které lze filtrovat za cyklus, a schopnost vykreslení výstupních jednotek (ROP). Tyto aspekty jsou dnes stále důležité, ale důraz je kladen mnohem více na stránku provádění, protože technologie 3D vykreslování vyžadují vyšší výpočetní výkon než kdykoli předtím.

Nicméně, jen si všimněte, že v těchto oblastech není žádný okamžitě patrný rozdíl mezi Navi a Turingem, texturové jednotky a ROPs stále stojí za prozkoumání. V obou architekturách mohou texturové jednotky zpracovat a načíst 4 texturové prvky, filtrovat je neznámé v jednom prvku a všechny je ukládat do mezipaměti v jednom hodinovém cyklu (ignorování dalších hodinových cyklů potřebných k načtení dat z místní paměti).

Uspořádání ROP / RB se mezi Navi a Turingem mírně liší, ale ne příliš: čip AMD má 4 RB na ACE a každý může na výstup vydat 4 smíšené pixely za takt; V Turingu má každý GPC dva RB, z nichž každý dává 8 pixelů za hodinu. Počet ROP GPU je skutečně měřením této výstupní rychlosti pixelů, takže plný čip Navi dá 64 pixelů na hodiny a plný TU102 dá 96 (ale mějte na paměti, že se jedná o větší čip).

Na trojúhelníkové straně věcí je méně informací. Co víme, je, že Navi stále poskytuje maximálně 4 primitiva za taktovací cyklus (1 na ACE), ale zatím není slovo, zda AMD problém vyřešilo tímto problémem. Primitivní shadery. Toto byla velmi propagovaná funkce Vegy a umožnila programátorům mít mnohem větší kontrolu nad primitivy, takže mohla zvýšit primitivní propustnost o faktor 4. funkce odstraněna z ovladačů Produkt byl spící krátce po uvedení na trh a od té doby spí.

I když stále čekáme na další informace o Navi, bylo by nerozumné dále spekulovat. Turing také zpracovává 1 primitiv na hodiny na GPC (tj. Až 6 pro plný GPU TU102) v Raster Engines, ale také Shadery sítěNabízí stejnou funkcionalitu jako AMD Primitive Shaders; Direct3D není sada funkcí OpenGL nebo Vulkan, ale je k dispozici prostřednictvím rozšíření API.

Zdá se, že to dává Turingovi náskok před Navi, pokud jde o manipulaci s trojúhelníky a primitivy, ale v tuto chvíli není ve veřejné doméně dostatek přesných informací.

Není to všechno o výkonných jednotkách

Existují další aspekty Navi a Turing, které stojí za to porovnat. Za prvé, oba GPU mají vysoce pokročilé zobrazovací a mediální motory. První zpracovává výstup na monitor, druhý kóduje a dekóduje video streamy.

Jak byste očekávali od nového designu GPU 2019, displejový modul Navi nabízí velmi vysoké rozlišení při vysokých obnovovacích frekvencích a podporuje HDR. Zobrazit kompresi streamu (DSC) je algoritmus rychlé ztrátové komprese, který umožňuje přenášet rozlišení 4K + při obnovovacích frekvencích vyšších než 60 Hz přes připojení DisplayPort 1.4; Naštěstí je degradace kvality obrazu velmi malá, až do té míry, že DSC považujete za téměř bezztrátový.

Turing také podporuje DisplayPort s připojením DSC, ale podporovaná kombinace vysokého rozlišení a obnovovací frekvence je o něco lepší než Navi: 4K HDR při 144 Hz - zbytek je stejný.

Mediální modul Navi je stejně moderní a propracovaný jako jeho zobrazovací modul. Pokročilé kódování videa (H.264) a Vysoce efektivní kódování videa (H.265), opět při vysokých rozlišeních a vysokých bitových rychlostech.

Turingův video engine je zhruba stejný jako Navi, ale podpora kódování 8K30 HDR může u některých lidí vyvážit Turingovu laskavost.

Existují další aspekty, které je třeba porovnat (například rozhraní Navi PCI Express 4.0 nebo Turing NV Link), ale jsou to opravdu velmi malé kousky celkové architektury, bez ohledu na to, jak jsou oblečené a prodávané. Důvodem je, že pro velkou většinu potenciálních uživatelů tyto jedinečné funkce nebudou vadit.

Porovnání typu „za něco“

Tento článek je pozorováním architektonického návrhu, funkcí a funkcí, ale přímé srovnání výkonu by bylo dobrým způsobem k dokončení takové analýzy. Spárování čipu Navi v Radeon RX 5700 XT s procesorem Turing TU102 v GeForce RTX 2080 Ti na GeForce RTX 2080 Ti by bylo pozoruhodně nespravedlivé vzhledem k tomu, že druhý má téměř dvojnásobný počet shaderů dohromady. Existuje však verze čipu Turing, kterou lze použít pro srovnání, a ta se nachází v GeForce RTX 2070 Super.

  Radeon RX 5700 XT GeForce RTX 2070 Super
GPU | Architektonický Navi 10 | rDNA TU104 | Turing
proces 7 nm TSMC 12 nm TSMC
Plocha formy (mm2) 251 545
Tranzistory (miliardy) 10.3 13.6
Blokovat profil 2 SE | 4 ACE | 40 PB 5 GPC | 20 TPC | 40 SM
Jednotná jádra shaderu 2560 SP 2560 ZÁZRAKŮ
TMU 160 160
ROPS 64 64
základní hodiny 1605 MHz 1605 MHz
herní hodiny 1755 MHz N / A
zvýšit hodiny 1905 MHz 1770 MHz
Paměť 8 GB 256 bit GDDR6 8 GB 256 bit GDDR6
Šířka pásma paměti 448 GB / s 448 GB / s
Thermal Design Power (TDP) 225 Wattů 215 W.

Stojí za zmínku, že RTX 2070 Super není 'plný' čip TU104 (jeden z GPC je deaktivován), takže ne všechny z těchto 13,6 tranzistorů jsou aktivní, což znamená, že čipy jsou zhruba stejné, pokud jde o počet tranzistorů. Pokud jde o nominální hodnotu, oba GPU vypadají velmi podobně, zvláště pokud vezmete v úvahu pouze shaderové jednotky, TMU, ROP a hlavní paměťové systémy.

Na procesoru Nvidia zvládne SM 32 simultánních warpů a s každou 32-vláknovou warp může plně načtená GeForce RTX 2070 Super běžet na 40 960 vláknech napříč celým čipem; Pro Navi může CU přijímat 16 vln na SIMD32 ALU a každá vlna má 32 vláken. Radeon RX 5700 XT tedy může zabalit až 40 960 vláken. Může se to zdát, že je děláte dobře i tady, ale vzhledem k tomu, jak odlišně jsou uspořádány CU / SM a výhoda Nvidia se současným zpracováním INT a FP, bude výsledek silně záviset na spuštěném kódu.

Jaký účinek by to mělo na různé herní výkony, protože kód 3D enginu zvýhodní jedno sestavení před druhým v závislosti na tom, jaký typ pokynů se běžně odesílá do GPU. To, testovány dvě grafické karty:

Všechny hry použité při testování byly naprogramovány přímo pro počítače vybavené Radeonem nebo pro architekturu AMD GCN prostřednictvím GPU GCN nalezených na PlayStation 4 nebo Xbox One. Je možné, že některá z posledních verzí jsou připravena na změny RDNA, ale rozdíly ve výsledcích srovnávacích testů jsou pravděpodobnější kvůli vykreslovacím modulům a způsobu zpracování pokynů a dat.

Co to všechno znamená? Je jedna architektura opravdu lepší než jiná? Turing určitě nabízí větší kapacitu než Navi díky Tensor a RT Cores, ale ten je rozhodně konkurenceschopný, pokud jde o výkon 3D vykreslování. Rozdíly viděné ve 12 příkladech her nejsou dostatečně jasné, aby bylo možné učinit pevný úsudek.

A to je pro nás dobrá zpráva.

poslední slova

Plány AMD Navi oznámil Je to v roce 2016 a oni usilovali o spuštění v roce 2018, i když toho moc neřekli. Když to datum přijde a odejde, cestovní mapa změněno bylo však jasné, že Navi bude vyráběno na 7nm procesním uzlu a design se zaměří na zlepšení výkonu.

Určitě tomu tak bylo, a jak jsme viděli v tomto článku, AMD provedlo architektonické změny, které jí umožnily konkurovat rovnocenným nabídkám Nvidia. Nový design přináší výhody nejen uživatelům počítačů, jak víme, že Sony a Microsoft v příštím období využijí variantu čipu. Playstation 5 ve sonraki xbox.

Pokud se vrátíte na začátek tohoto článku a znovu se podíváte na konstrukční design Shader Motors, celkovou velikost matrice a počet tranzistorů, je zde zjevně prostor pro to, aby se „velký Navi“ čip dostal na vrchol. nejnovější grafická karta; AMD do značné míry potvrdila, že je to součást jejich současných plánů a jeho cílem je zlepšit architekturu a výrobní proces v příštích dvou letech.

Jaké jsou však plány Nvidie pro Turinga a jeho nástupce? Společnost překvapivě potvrdila jen málo. V roce 2014 Nvidia Aktualizovaný plán GPU Plánování (a dosažení) architektury Pascal pro spuštění v roce 2016. v roce 2017, Tesla ohlašuje V100Díky architektuře Volta to byl tento design, který odhalil Turinga v roce 2018.

Od té doby bylo vše docela tiché a museli jsme se spoléhat na fámy a úryvky zpráv, které často říkají totéž: Další architektura Nvidie se bude jmenovat Ampere, Vyrobeno společností Samsung Využívá 7nm procesní uzel a je naplánován na rok 2020. Kromě toho není nic jiného, ​​co by se dalo pokračovat. Je nepravděpodobné, že by nový čip prolomil tradici tím, že se zaměří na skalární prováděcí jednotky, ani není pravděpodobné, že by upustil od aspektů, jako je Tensor Cores, protože by to způsobilo značné problémy s zpětnou kompatibilitou.

Stále můžeme udělat rozumné odhady toho, jaký bude příští GPU Nvidia. Společnost investovala značné množství času a peněz. sledování paprskua jeho podpora pouze ve hrách zvýšit; takže můžeme očekávat zlepšení v jádru RT, pokud jde o schopnosti nebo počty na SM. Pokud jeden 7 nm procesní uzel Pokud je to pravda, Nvidia bude pravděpodobně usilovat spíše o snížení výkonu než o přímé zvýšení rychlosti hodin, aby mohla zvýšit počet GPC. Je také možné, že je 7 nm přeskočeno a Nvidia se spustí. plochý pro 5 nm Získat výhodu oproti AMD.

Vypadá to, že AMD a Nvidia, samostatná grafická karta Trh od společnosti Intel, jak víme, plánuje znovu vstoupit do tohoto odvětví, 20 let pauza. Tento nový produkt (aktuálně pojmenovaný xe) budou moci soutěžit s Navi a Turingem na stejné úrovni.

Intel mezitím přežil na trhu GPU po tato dvě desetiletí díky výrobě integrované grafiky pro své procesory. Nejnovější grafická karta Intel Gen 11Je to podobné jako architektura AMD, protože používá vektorové ALU, které dokážou zpracovat data FP32 a INT32, ale nevíme, jestli nové grafické karty budou přímým vývojem tohoto designu.

Jisté je, že příštích několik let bude velmi zajímavých, protože tři obři křemíkových struktur nadále bojují o naše peněženky. Nové návrhy a architektury GPU budou tlačit na počty tranzistorů, velikosti mezipaměti a schopnosti shaderu; Navi a RDNA jsou nejnovější z nich a ukázaly, že každý krok vpřed může mít malý rozdíl.

Nákupní zkratky:

Tento článek byl původně publikován 7. srpna 2019. V rámci naší iniciativy #ThrowbackThursday jsme to trochu revidovali a narazili.