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/frekvens, 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

52 debattinlägg

Skicka en rättelse
27

Forumet: Behåller du din bokning på RTX-serien?

Med testerna ute är det sanningens minut för alla de som förbokat Geforce RTX 2080 Ti eller RTX 2080. I forumet undrar ClintBeastwood hur läget ser ut. Läs mer

364

Test: Nvidia Geforce RTX 2080 och RTX 2080 Ti – världens snabbaste grafikduo

Strålspårning, maskininlärning och ruskigt hög spelprestanda. Det har blivit dags att lyfta på locket för Nvidia Geforce RTX 2000-serien och arkitekturen Turing – RTX ON! Läs mer

7

Mozilla släpper Firefox Reality – webbläsare anpassad för VR

Mozilla släpper en ny version av sin Firefox, vilken får namnet Firefox Reality och är anpassad för virtuell verklighet. Läs mer

33

SweClockers testar bubbelgum i läskform

LäskBlaskers (eller var det SweLäskers?) är tillbaka för att testa äckliga läskedrycker. Denna gång med smak av bubbelgum! Läs mer

56

Take-Two: "Strömma spel utan fördröjning verklighet inom några år"

Att strömma spel över nätet innebär ofta lång fördröjning och andra problem som drar ned upplevelsen. Enligt Take-Twos VD Strauss Zelnick kommer dock dessa vara lösta inom några år. Läs mer

88

Sony tillkännager Playstation Classic med 20 förinstallerade spel

Efter succéerna Nintendo NES Classic Edition och SNES Classic Edition följer Sony upp med en alldeles egen klassiker, som levereras med 20 förinstallerade spel. Däribland Final Fantasy VII. Läs mer

22

Test: Silverstone Nightjar NJ450-SXL – fläktlöst nätaggregat i formfaktorn SFX-L

Silverstone äntrar testlabbet med det helt fläktlösa nätaggregatet Nightjar NJ450-SXL, som ska erbjuda en knäpptyst upplevelse i formfaktorn SFX-L för ultrakompakta byggen. Läs mer

78

Nvidia Geforce RTX 2080 Ti och RTX 2080 prestandatestas i Final Fantasy XV

Nu hittar de första resultaten från spel med Geforce RTX 2080 Ti och RTX 2080 ut på webben via Final Fantasy XV:s testdatabas. Det handlar om tester i tre upplösningar i speltiteln. Läs mer

43

EU:s upphovsrättsdirektiv med Artikel 11 och Artikel 13 – det här händer nu

Nyligen godkändes ett nytt upphovsrättsdirektiv av Europaparlamentet. Än har det dock en bit kvar att gå innan det resulterar i ny lagstiftning. Läs mer

28

Asus ROG Ryujin är sluten vattenkylare med fläktar från Noctua

Det senaste tillskottet till Asus produktportfölj heter ROG Ryujin, och det handlar om en sluten vattenkylare med integrerad OLED-panel samt fläktar från Noctua. Läs mer

27

Asus lanserar Seasonic-baserade nätaggregat i ROG Thor-serien

Asus lanserar sina första nätaggregat, med två modeller i ROG Thor-serien. De kommer i effektklasserna 850 och 1 200 W och baseras på Seasonics Prime-plattform. Läs mer

11

AMD lanserar Ryzen 7 2800H och 5 2600H för bärbara prestandadatorer

Strömsnåla Ryzen Mobile får sällskap av mer prestandaorienterade H-serien. Toppmodellen Ryzen 7 2800H har fokus på en stark integrerad grafikdel, som på pappret mästrar stationära 5 2400G. Läs mer