Djupdykning: Nvidia Turing under luppen – arkitekturen bakom Geforce RTX 2000-serien

Djupdykning: Nvidia Turing under luppen – arkitekturen bakom Geforce RTX 2000-serien

Det är inte långt kvar till Nvidia lanserar Geforce RTX 2080 och RTX 2080 Ti. Inför detta avtäcks detaljerna för arkitekturen Turing, som är en helt ny skapelse med tio års utveckling i bagaget.

Arkitekturen Turing – en helt ny skapelse

Många har försökt räkna ut hur den nya RTX-serien med arkitekturen Turing ska prestera med antagandet att det handlar om en vidareutveckling av Pascal, där Nvidia lagt till finesser som dedikerade Tensor- och Ray Tracing-kärnor. Andra har förbarmat sig över att Nvidia inte släpper Volta för vanliga konsumenter.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-9.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-8.jpg

Faktum är att Volta var vidareutvecklingen av Pascal, där Nvidia lade till vissa funktioner som Tensor-kärnor som från början var tänkt att introduceras med Turing. Med andra ord är volta gårdagens nyhet och för spelande är Turing ut alla avseenden den arkitektur som är relevant.

Den som hängt med på nyhetsfronten och sociala medier kan ha lagt märke till att flera spelutvecklare fått det Volta-baserade grafikkortet Titan V av Nvidia. Syftet med detta var enligt Nvidia, utan att gå in på detaljer, att ge dem en "tjuvstart" för att kunna börja testa på och implementera några av de finesser som skulle introduceras med Turing.

Ny Streaming Multiprocessor (SM)

Vid sidan om RTX-funktionerna som vi kommer in på längre ned är den i särklass största nyheten med Turing upp till 50 procent bättre prestanda per CUDA-kärna. Det här möjliggörs framförallt av att arkitekturen Turing kan exekvera instruktioner med heltals- (INT32) och flyttalsberäkningar (FP32) parallellt.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-11.jpg

När Nvidia tittat på moderna speltitlar framgår att en majoritet av alla instruktioner är flyttal, men att en förhållandevis stor del också är heltal. På varje 100 flyttal ska det gå i snitt 36-heltalsinstruktioner och där instruktionerna i tidigare generationer exekverats seriellt kan de nu köras parallellt jämsides varandra.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-13.jpg

Den nya möjligheten att köra flyttals- och heltalsinstruktioner parallellt ger en motsvarande prestandaökning, nämligen i snitt 36 procent. Värt att trycka på är att det handlar om ett snittvärde, exempelvis i Battlefield V används närmare 50 instruktioner med heltal på 100 med flyttal medan det i The Witcher 3 handlar om ett avsevärt lägre värde på strax under 20 procent. Prestandalyft "per CUDA-kärna" bör därför också variera mellan olika speltitlar.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-10.jpg

Varje Streaming Multiprocessor-kluster (SM) huserar 64 kärnor för flyttal och 64 kärnor för heltal, men för enkelhetens skull klassas dessa tillsammans som 64 CUDA-kärnor. De här är i sin tur uppdelade i fyra beräkningsblock, vilka även huserar två Tensor-kärnor vardera eller totalt åtta i ett SM-kluster.

Grafikkretsen TU102 har totalt 72 SM-kluster, men endast 68 stycken är aktiverade när den används för Geforce RTX 2080 Ti vilket ger totalt 4 352 CUDA-kärnor. Därefter kommer TU104 med 48 SM-kluster varav 46 stycken är aktiva med RTX 2080 för totalt 2 944 CUDA-kärnor. Instegskretsen TU106 går ned till 36 SM-kluster där alla är aktiva med RTX 2070 som därmed har 2 304 CUDA-kärnor.

Nytt cacheminne

Den andra stora prestandahöjaren är ett nytt flexibelt L1-cacheminne på 96 KB för varje Streaming Multiprocessor (SM). För grafik kan detta delas upp i 64 KB för grafik-shaders och 32 KB som texturcache & register, medan det för beräkningar kan köras i 64 KB delat minne och 32 KB L1-cache eller vice-versa.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-12.jpg

L2-cacheminne – Pascal mot Turing

TU102

GP102

TU104

GP104

TU106

GP106

Turing

Pascal

Turing

Pascal

Turing

Pascal

6 MB

3 MB

4 MB

2 MB

4 MB

1,5 MB

Till detta hör också ett dubblerat L2-cacheminne i samtliga segment. Nvidias stora grafikkrets TU102 som används för Geforce RTX 2080 Ti har 6 144 KB (6 MB) L2-cacheminne, att jämföra med 3 072 KB för GP102 i GTX 1080 Ti. Både TU104 och TU106 som används för RTX 2080 respektive RTX 2070 har 4 096 KB (4 MB). Detta att jämföra med 2 048 KB (2 MB) för GP104 och 1 536 KB (1,5 MB) i GP106 som utgör GTX 1060.

Tensor-kärnor

När Nvidia introducerade arkitekturen Volta var den stora nyheten Tensor-kärnor för maskininlärning. Maskininlärning eller på engelska Deep learning är till för sånt som inte passar mänskliga algoritmer, som exempelvis att avgöra vad en bild visar. Nvidia använder som exempel att "if cat" inte fungerar för att avgöra om det på bilden är en katt eller någonting annat.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-16.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-17.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-18.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-19.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-20.jpg

Med Tensor-kärnor tillkommer möjligheten att utföra matrisoperationer, vilka ökar prestandan mångfaldigt mot Pascal. Turings Tensor-kärnor uppges vara åtta gånger mer energieffektiva än om samma samma matrismultiplikationer skulle utföras seriellt med arkitekturen Pascal.

Nvidia har gett Turings Tensor-kärnor stöd för en rad olika precisioner, från FP16 som väntas bli vanligast i spel men stöd finns även för FP8 och FP4. Varje kärna kan utföra 128 FP16-operationer/klockfrekvens, ett värde som dubbleras till 256 vid FP8 och 512 vid FP4.

Något många undrar är varför Nvidia valt att lägga resurser och transistorer på en sak som Tensor-kärnor för spelinriktade grafikkretsar. Bolaget tar upp många exempel på hur det kan användas för att leverera bättre spel framöver, där spelutvecklare kan använda tekniken för att kvalitetstesta titlar istället för att ha en myriad av mänskliga betatestare. Ett annat exempel är att tekniken kan användas för att ta fram bättre antifusksystem.

För vanliga användare ser Nvidia framför sig hur kärnorna kan användas för att förbättra AI-motståndare i spel och låta datorn lära sig av spelaren, för att sedan bli en bättre motståndare. Under presentationen tillägger Nvidia skämtsamt att utvecklare måste sätta in gränser för hur bra datorn får bli, annars kommer den på sikt att lära sig spelarens mönster utan och innan och sopa banan med denna.

Något konkret Nvidia slår på stora trumman för kallar de Neural Graphics, som kan användas för att rendera spel i låg upplösning och genom maskininlärning skala upp detta till något mer högupplöst. Nvidia talar om alltifrån 1080p upp till 4K, 8K och rentutav 16K med resultat som ser bra ut även inzoomat.

Deep Learning Super-Sampling (DLSS)

Deep Learning Super-Sampling (DLSS) är Nvidias nya teknik för kantutjämning (eng. anti-aliasing), som använder sig av just maskininlärning för att producera ett bättre resultat utan att för den sakens skull dra ned prestandan allt för mycket. För att möjliggöra detta använder sig Nvidia av sin egen superdator Saturn V, som därutöver används internt för att förbättra algoritmer för självkörande bilar.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-72.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-73.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-74.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-75.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-76.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-77.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-78.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-79.jpg

Som DLSS fungerar i nuläget får Nvidia ett tidigt exemplar av ett spel, varpå de skapar ett "träningsprogram" som körs internt hos Nvidia på sin superdator och hos utvecklarna. På så vis lär sig datorn hur den ska kantutjämna en bild på bäst sätt. Enligt Nvidia är resultaten med DLSS redan mycket bättre än AA-tekniken TAA sett till både bildkvalitet och prestanda, och gör gällande att det finns gott om utrymme att nå högre höjder än så.

RT-kärnor – hårdvaruaccelererad Ray Tracing

Den tredje delen beräkningsenheten att utgöra Turing är splitternya RT Core, som är särskilt framtagen för att möjliggöra strålspårning (eng. ray tracing) i realtid. Strålspårning är långtifrån en ny teknik och har flera decennier på nacken, men det har alltid varit för krävande att kunna köra i realtid.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-22.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-23.jpg

När Nvidia forskade på strålspårning kom de snabbt fram till att råstyrka inte skulle räcka till, utan att hårdvaruacceleration skulle behövas. Fördelen med den typen av specialiserad hårdvara är att de gör det snabbt och energieffektivitet, men de saknar flexibilitet att användas för annat än mycket specifika algoritmer.

Efter att ha testat flera olika acceleratorer landade Nvidia för fem år sedan i vad som kallas Bounding Volume Hierarchy (BVH), som enligt bolaget är det vanligaste sättet som strålspårning görs på idag. Tanken är att inte uppfinna hjulet på nytt utan att bygga på något redan är etablerat inom industrin.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-24.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-25.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-26.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-27.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-28.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-29.jpg

Strålspårning går ut på att få ljus att på ett realistiskt sätt studsa mot ytor och därigenom skapa realistiska reflektioner, ljusbrytningar och skuggor. Att hitta vilken triangel ljuset ska studsa mot är enligt Nvidia som att hitta en nål i en höstack och med BVH återfinns denna nål genom att dela in objektet i olika lådor, för att till slut ringa in var triangeln är.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-30.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-31.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-32.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-33.jpg
GeForce_EditorsDay_Aug2018_Updated090318_1536034900-34.jpg

Att göra detta i mjukvara kräver enligt Nvidia tusentals instruktioner för varje ljusstråle, vilket gör att tidigare grafikkort gått på knä när det ska ske i realtid. Det är det här Nvidia menar att de löst med RT-kärnorna, som är särskilt gjorda för detta och samtidigt avlastar de traditionella CUDA-kärnorna som kan användas för det de är bra på.

RTX är samlingsnamnet för funktioner

Ett vanligt missförstånd med nya Geforce RTX-serien är att RTX som suffix exklusivt pekar på stödet för strålspårning. Nvidia menar dock att det är ett samlingsnamn för alla kärnor, från de traditionella till Tensor- och RT-kärnor, som arbetar tillsammans för att rendera scener. Något Nvidia kallar hybrid rendering.

GeForce_EditorsDay_Aug2018_Updated090318_1536034900-62.jpg
Kommentarer till artikeln

54 debattinlägg

Skicka en rättelse
97

Forumet: Vad tycker du om Black Friday?

Inför hysterin kring Black Friday reflekterar Edin över fenomenet, med blandade känslor. Hur känner du för dessa readagar och kan SweClockers gemenskap göra något för att förändra? Läs mer

9

Louqe Ghost S1 landar hos svenska kunder

Väntan lider mot sitt slut för de entusiaster som beställt omtalade datorlådan Ghost S1. Medlemmen "berges" är en av de första att få hem ett exemplar, och givetvis bjuds det på bilder i galleriet. Läs mer

37

Inför Black Friday – hitta rätt bärbar speldator

Suktar du efter en bärbar speldator under Black Friday och behöver tips om vad du ska kolla efter? Jacob och Andreas intar studion för att ge vägledning i rea-djungeln! Läs mer

80

Quiz: Doge, Nyan Cat och andra memes

Temat för veckans quiz på SweClockers är något utöver det vanliga, då siktet ställs in på memes av olika slag. Läs mer

23

AMD Ryzen 7 3700U listas i databas – nästa generations Ryzen för bärbara datorer

I databasen för prestandatestet Userbenchmark dyker Ryzen 7 3700U upp, vilken tillhör nästkommande generations Ryzen-processorer för bärbara datorer. Läs mer

31

Forumet: Left 4 Dead fyller 10 år

I ett decennium har spelare världen över besegrat levande döda med hjälp av gevär, brandyxor och rörbomber. Diskutera dina minnen kring Left 4 Dead! Läs mer

99

Exemplar av EVGA Geforce RTX 2080 Ti XC uppges ha fattat eld

Geforce RTX 2080 Ti är flaggskeppsprodukten i Nvidias senaste grafikkortsserie. Nu uppges ett exemplar av kortet ha börjat brinna, och detta utan överklockning eller tung belastning. Läs mer

83

En tillbakablick på Intel Core i7-920 – arkitekturen Nehalem fyller tio år

För tio år sedan sjösatte Intel arkitekturen Nehalem och de första Core i7-processorerna. David Kvist tar en promenad längs med minnenas boulevard för en tillbakablick på Core i7-920. Läs mer

140

Test: Ray tracing i Battlefield V med Nvidia RTX-serien

Strålspårning, strålföljning, ray tracing eller hur du nu vill kalla det. Redaktionen laddar testriggarna med fler grafikkort och testar nya tekniken i Battlefield V. Läs mer

49

FZ testar Battlefield V – actionskjutare som inte tar ut svängarna

FZ testar Battlefield V och imponeras av flera aspekter som fokuset på lagspel och det storslagna spelläget Grand Operations. Däremot faller kampanjen och nytänket kort. Läs mer

29

SK Hynix avtäcker första primärminnet enligt DDR5-standarden

Nästa år väntas standarden för DDR5 spikas av JEDEC, och nu meddelar SK Hynix att de ta tagit fram de första kretsarna som lever upp till denna. Läs mer