Maxwell – en ny arkitektur från Nvidia

Grafikprocessorn GM204 står till grund för det nya flaggskeppet Geforce GTX 980 och syskonmodellen GTX 970. Bokstaven M avslöjar en övergång till arkitekturen Maxwell, det vill säga samma som återfinns i budgetmodellerna GTX 750 Ti och GTX 750. Detta innebär en arkitektur som skiljer från Kepler, som introducerades under våren 2012 i form av Geforce GTX 680.

NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_085.jpg
NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_086.jpg

Den största förändringen är helt ombyggda block, eller kluster. I Kepler kallades dessa för SMX och huserade 192 CUDA-kärnor. För Maxwell handlar det istället om SMM-kluster, vilka huserar 128 CUDA-kärnor vardera. Dessa är uppdelade i fyra segment, någonting som möjliggör mer finkornig clock-gating då varje segment kan stängas av individuellt för att spara ström.

GM204 har "bara" 2 048 CUDA-kärnor i 16 SMM-kluster, att jämföra mot 2 880 CUDA-kärnor i 15 SMX-kluster för GK110 som används i alla grafikkort från GTX 780 hela vägen upp till GTX Titan Z. Nvidia gör dock gällande att den nya kretsen ska ge högre prestanda då varje CUDA-kärna presterar 40 procent högre vid en given klockfrekvens, samtidigt som den klarar högre frekvensvärden.

Till varje SMM-kluster hör 8 texturenheter, vilket ger 128 stycken för den fullskaliga varianten som används i Geforce GTX 980 och 104 stycken för avskalade GTX 970 som endast kommer med 13 SMM-kluster. Antalet rasterenheter är 64 stycken, vilket är en ökning mot 32 för GK104 (GTX 770) och GK110 (GTX 780 och uppåt), någonting som ska göra den särskilt väl lämpad för höga upplösningar.

Grafikkretsen kommer med ett L2-cacheminne, som precis som GM107 utrustats med 2 048 KB. Det här minnet används för att färre förfrågningar ska behövas göras till grafikkortets grafikminne, vilket i sin tur sänker strömförbrukningen och samtidigt bidrar till ökad prestanda.

NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_087.jpg
NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_088.jpg
NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_089.jpg
NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_090.jpg

Det har länge varit känt att GM204 får en 256-bitars minnesbuss, vilket av många har setts som ett dåligt tecken då GK110 som kretsen ersätter prestandamässigt ligger på 384 bitar. Medan den teoretiska bandbredden sjunker med 33 procent har Nvidia arbetat på att förbättra minneskompressionen.

Minneskompression är i sig ingenting nytt utan är en finess som ständigt utvecklas av Nvidia såväl som AMD för att bättre hushålla med den tillgängliga bandbredden. För Maxwell sägs kompressionen vara förbättrad med runt 25 procent jämfört mot Kepler, vilket således betyder att den effektiva bandbredden är högre än vad den ger sken av när den jämförs mot tidigare grafikkort.

NVIDIA_EdDayMaxwellDay2_FINAL_PUBLISHED_PRO_Page_092.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_092.jpg

En av arkitekturens teman är förbättrad energieffektivitet, trots att Nvidias inte haft annat till val än att stanna kvar på en 28 nanometersteknik från TSMC. Enligt bolaget handlar det om inget mindre än en tvåfaldig förbättring jämfört mot Kepler, någonting som märks inte minst på det nya flaggskeppet Geforce GTX 980 med det i klassen låga TDP-värdet 163 W – att jämföra mot 250 W för GTX 780 och uppåt.

Hur Nvidia åstadkommit detta tillskrivs inte ett fåtal stora optimeringar, utan otaliga små. Mycket av detta sägs komma från de lärdomar som gjorts med den mobila systemkretsen Tegra K1, som huserar inget mindre än 192 CUDA-kärnor av den föregående Kepler-arkitekturen och levererar i klassen väldigt hög prestanda.

Till Maxwell hör även en rad nya finesser, som ingår i Nvidias utvecklarprogram Gameworks. Inte helt olikt AMD:s Gaming Evolved innebär det att Nvidia går in och hjälper till vid utvecklingen av spel, vilket kan sträcka sig till allt från skalningen av gränssnitt i olika upplösningar till prestandaoptimeringar.

Dynamic Super Resolution

När en scen ritas upp finns det många gränsfall för de allra minsta detaljerna huruvida de ska renderas eller ej, beroende på upplösningen som används. Så kallad Supersampling är förekommande i spel och renderar scenen i en högre upplösning, för att sedan skala ned dessa för att på så vis göra att de ändå syns för slutanvändare.

NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_016.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_017.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_018.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_019.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_020.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_021.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_022.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_023.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_024.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_025.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_026.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_027.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_028.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_029.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_030.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_031.jpg

Finessen är ofta knuten till specifika titlar, men nu ser Nvidia till att det finns tillgängligt i den egna kontrollpanelen och kan användas även i spel som i normala fall inte nyttjar tekniken. Tekniken kallas Dynamic Super Resolution och gör det exempelvis möjligt att rendera ett spel i 3 840 x 2 160 för att med hjälp av algoritmer skala ned bilden till 1 920 x 1 080 pixlar.

Ett av exemplen Nvidia lyfter fram är grässtrån, som annars kanske inte skulle konsekvens renderas på en lägre upplösning. Med DSR renderas de istället konstant, skalas ned och slutligen jämnas ut för att ge en mer tilltalande bild. Nackdelen är självklart att spelet renderas i en högre upplösning och därmed kräver mer av hårdvaran, samt att element som gränssnitt kan bli svårlästa.

Multi-Frame Sampled Anti-Aliasing

Kantutjämning är en annan finess som ofta används för att ge mjukare kanter och eliminera så kallade "jaggies". En av de vanligaste teknikerna för ändamålet är MSAA, som beroende på utjämningsnivå kan leda till stora prestandaförluster. Nvidia är inte främmande för att släppa nya och egna AA-tekniker, där den senaste i ledet är MFAA – Multi-Frame Sampled Anti-Aliasing.

NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_034.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_035.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_036.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_037.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_038.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_039.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_040.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_041.jpg

MFAA jämnar inte ut alla detaljer för varje enskild bildruta utan utför istället processen i två steg. Det här ger enligt Nvidia en liknande effekt som när vanlig MSAA används, samtidigt som prestandatappet är mycket lägre. Tekniken kräver dock en förhållandevis hög bildfrekvens för att det ska se bra ut, och enligt Nvidia ligger brytpunkten på cirka 40 FPS.

Voxel Global Illumination

Ytterligare en ny teknik från Nvidia handlar om ljussättning. Metoden heter Voxel Global Illumination (VXGI), och syftar framför allt till att rendera sekundära ljuskällor med hög precision. Konceptet presenterades redan 2011, men har sedan dess finslipats och optimerats för spelbruk. Som namnet antyder bygger tekniken på voxlar, i princip en kubformad motsvarighet till 2D-världens pixlar.

NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_047.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_045.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_046.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_048.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_049.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_050.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_051.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_052.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_053.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_054.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_055.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_056.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_057.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_058.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_059.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_060.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_061.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_062.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_063.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_064.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_065.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_066.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_067.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_068.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_069.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_070.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_071.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_072.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_073.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_074.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_075.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_076.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_077.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_078.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_079.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_080.jpg

I korthet låter Nvidia ytorna för alla 3D-objekt representeras av voxlar, vilka kan ta emot inkommande ljus, hålla parametrar samt ge information om hur mycket ljus som "sänds ut" - reflekteras. Lagrade värden är till exempel ljusets vinklar, hur reflektivt materialet är samt hur mycket av voxelns volym som faktiskt täcks av ett objekt.

Vid renderingen skjuter varje voxel ut "koner" med olika parametrar, vilka läser av ljusinsläppet från övriga scenen. Det sammanlagda resultatet berättar om belysningen för den aktuella punkten, enligt Nvidia med förhållandevis hög precision och i realtid. Tekniken fungerar i teorin med alla grafikkort, men är till viss del hårdvaruaccelererad med Geforce Maxwell.

VR Direct

Virtuell verklighet är en het potatis och väntas i och med lanseringen av Oculus Rift att slå igenom ordentligt. Nvidia vill vara redo att fånga den trenden och talar därför om VR Direct, vilket mer ska ses som ett koncept snarare än en egen typ av teknik.

NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_081.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_082.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_083.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_084.jpg
NVIDIA_EdDayMaxwellDay1_FINAL_PUBLISHED_PRO_Page_085.jpg

VR-headset kommer kräva väldigt höga upplösningar för att individuella pixlar inte ska kunna urskiljas, men innan vi är där vill Nvidia använda finesser som DSR och MFAA för kantutjämning. Nvidia arbetar även på att sänka fördröjningarna i hela ledet – från att det första anropet sker i spelet, till att det ritats upp av grafikkortet och sedan visas upp på skärmen.

Den som vill fördjupa sig i MFAA, VXGI eller andra tekniker rekommenderas att läsa Nvidias whitepaper för Geforce Maxwell. Dokumentet är en PDF-fil som väger in på strax över 2 MB.