AMD Radeon RX Vega 64 och RX Vega 56

Efter en lång väntan är AMD:s nya grafikarkitektur Vega här. SweClockers testlabb får besök av Radeon RX Vega 64 och 56 med löften om det röda lagets återkomst till prestandasegmentet.

En arkitektonisk ombyggnation

Sett till arkitekturen har mycket förändrats sedan Polaris och GCN 4.0. En del av denna nya arkitektoniska plattform är något som kallas Next-generation Compute Unit (NCU). Efter presentationen av Vega rådde det en viss förvirring över om detta var namnet på nästa GCN-version, men det är alltså det nya namnet för klustren av beräkningsenheter (Compute Unit, CU).

Beräkningsenheterna som utgör NCU-kluster har utökats med ett antal tillägg till instruktionsuppsättningen (ISA). Totalt sett har 40 nya instruktioner lagts till och arkitekturen är nu betydligt mer effektiv vid beräkningar per klockcykel (IPC), något som GCN 4.0 och tidigare versioner varit svaga på jämfört med Nvidias Maxwell- och Pascal-generationer.

NCU.jpg
NCU_addons.jpg
ISA_additions.jpg
3dmarkSerra_FP16.jpg
Vega_features_Wolf2.jpg
CU_512_8bitops.jpg

Förbättrad IPC i kombination med att Vega är utformad för att kunna skala upp till betydligt högre klockhastigheter ska minska Nvidias övertag vad det gäller just höga maximala klockhastigheter och IPC. NCU-enheterna har även designats om för att arbeta mer effektivt trots att deras befintliga kapacitet bibehålls.

Dessa förändringar innefattar bland annat fysisk krympning, med kortare ledningar mellan kretsarnas beståndsdelar. Varje NCU-enhet delar endast instruktioner och cache med maximalt två andra enheter, något som ska minska konkurrensen om dessa resurser och därmed minimera latensen som uppstår.

L2-cacheminnet, som dubblerats till 4 MB, kan nu dessutom användas direkt av renderingsenheten Pixel Engine utan att gå via minneskontrollern först. Flera av de stora tilläggen i instruktionsuppsättningen kallas kollektivt för Rapidly Packed Math, och som namnet antyder handlar det om att instruktioner kan packas in för snabbare exekvering.

Många av nyheterna i Rapidly Packed Math utökar arkitekturens kapacitet för att blanda beräkningar av enkel- eller halvprecision. Enkelprecision syftar 32-bitars beräkningar av typerna heltal (Int) eller flyttal (FP). Halvprecision innebär helt enkelt att det är 16-bitars varianter av dessa beräkningar.

När beräkningar utförs på en grafikprocessor utförs de traditionellt oftast med enkelprecision (FP32), men många av dessa uppgifter utnyttjar bara bredden som ryms inom halvprecision (FP16). När dessa beräkningar utförs går kapacitet oanvänd, men med Rapidly Packed Math blir det möjligt att klämma in dubbla beräkningar i samma klockcykel.

Kretsdesign.jpg
L2_cache.jpg

Utöver dubbel kapacitet för beräkningar av flyttal och heltal blir även det effektiva registerutrymmet dubbelt så stort. Dagens utvecklargränssnitt som DirectX 11/12 och OpenGL/Vulkan stöder redan 16-bitars beräkningar så utvecklare kan börja utnyttja denna kapacitet omedelbart. Utöver att förbättra prestandapotentialen hos Vega är FP16-beräkningar även mer energieffektiva att utföra jämfört med äldre arkitekturer.

AMD har samarbetat med olika aktörer för att visa vilken vinst som går att få med dessa FP16-beräkningar, bland annat det syntetiska prestandamätningsverktyget 3DMark Serra från Futuremark. Här används halvprecisionsberäkningar för att bland annat göra beräkningar av ytor och volymetrisk ljussättning 24-25 procent snabbare än med enkelprecision, och 20 procent snabbare bloom-effekter.

Rapidly Packed Math är även flexibelt till den grad att utvecklare kan välja om de vill utföra 128 beräkningar av 32-bitars enkelprecision, 256 beräkningar av 16-bitars halvprecision eller 512 beräkningar av 8-bitars QSAD och MQSAD-beräkningar, vilket är en bildbehandlingsteknik där likheter mellan olika bildblock analyseras. Detta kan bland annat användas för objektigenkänning.

Rapidly Packed Math är även en del av de förbättringar som Sony tillförde grafikkretsen i den uppgraderade konsolen Playstation 4 Pro. När konsolen presenterades beskrevs dess grafikkrets som "utökad med funktioner från den kommande Vega-generationen", vilket konkret var bland annat FP16-beräkningar. Det innebär att spelutvecklare kan nyttja denna programmeringsmodell både på Playstation 4 Pro och Vega-grafikkort.

HBCC – det stora paradnumret

Nyheterna i NCU-enheterna lovar stordåd när utvecklarna börjar utnyttja dem, men enligt AMD själva är minnestekniken NBCC den enskilt största nyheten i Vega-arkitekturen. HBCC står för High-Bandwidth Cache Controller och är en ny arkitektur där tillgängliga minnesmängder kan användas som en sista cache-nivå (last level cache) för både primärminne och lagringsminne.

HBCC kan hantera både videominne, primärminne och olika cacheminnen som en tillgänglig pool, och om primärminnet får slut på utrymme kan de övriga resurserna användas för att täcka upp återstående behov. HBCC använder ett sidbaserat system som kan bryta upp krävande uppgifter som lyfts in från primärminnet och därmed bättre utnyttja det lokala grafikminnet.

HBCC.jpg
HBCC_memorypages.jpg
HBCC_cachemodel.jpg
HBCC_inklusive_exklusive.jpg

Traditionell hantering av grafikkortets videominne lyfter in uppgifterna och fyller bara grafikminnet med så många uppgifter som får plats. Om en uppgift är för stor för att få plats plockas den inte in, och resurser förblir därmed outnyttjade. Med det sidbaserade HBCC-systemet delas uppgifterna in i små delar, och de bitar som inte får plats i videominnet flyttas ut till primärminnet eller cacheminne.

HBCC-systemet prioriterar också aktiva minnessidor över inaktiva sådana, och kan dynamiskt markera dessa för migrering till långsammare resurser utanför grafikkortet. De olika minnessidornas storlek kan dessutom anpassas efter uppgiftens typ, eller vilken typ som är tillgänglig. Små sidor kan exempelvis skapas för begränsade cache-utrymmen.

HBCC_OpenGL.jpg
HBCC_mjukvara.jpg

Enligt AMD använder ofta moderna spel inte 50 procent av de minnessidor som finns representerade, och genom att flagga olika minnessidor som aktiva eller inaktiva kan spelen fria upp en stor del outnyttjade resurser. När detta utnyttjas, tillsammans med de nya instruktionerna och funktioner som Asynchronous Compute ska ge extra prestandaskjuts för utvecklare som utnyttjar Vega-arkitekturen.

Utvecklare kan dessutom styra om deras tillämpningar ska använda en inkluderande eller exklusiv cachemodell. I den exklusiva varianten kan de olika resurserna användas som ett stort minnesutrymme, medan inkluderande behåller samma data i de olika cachenivåerna och flyttar från en nivå till en annan om den behövs där.

Båda modeller har olika prestandaegenskaper, och genom att låta utvecklare styra detta kan systemet anpassas efter den typ av tillämpningar som ska användas. En spelmotor har exempelvis helt andra krav än vetenskapliga tillämpningar, och Vega-arkitekturen har byggts för att kunna användas i samtliga av AMD:s tilltänkta målgrupper.

Ett exempel för hur HBCC kan vara till nytta för spel är att stora mängder resurser kan behandlas i realtid. I en demonstration visar AMD hur 27 GB data används i en OpenGL-rendering där 500 miljarder trianglar beräknas i realtid. Att kunna nyttja mer minne än det lokala grafikminnet, och använda snabba små cacheutrymmen för små uppgifter, ligger till grund för detta.

Virtualization_Security.jpg
IO_virtualization.jpg

Utöver att Vega-arkitekturen använder HBCC som ny modell för hantering av minnesresurser kan användaren själv aktivera stöd för gruppering via mjukvaran Radeon Relive för Vega. Då buntas de tillgängliga minnessidorna som används i HBCC samman, och enligt AMD:s egna prestandasiffror ska det kunna ge upp till 7 procent högre bildfrekvens i syntetiska Unigine Heaven.

HBCC är även en viktig komponent i Vega-arkitekturens förbättrade kapacitet för hantering av virtuella resurser. Totalt sett kan den hantera upp till 512 TB virtuellt minnesutrymme. Detta används tillsammans med utökningar av arkitekturens instruktionsuppsättning som möjliggör hårdvaruvalidering av exekvering och säkra zoner på grafikminnet.

Här stöds även något som kallas Single-Root IO Virtualization, en del av PCI Express-standarden som låter grafikkortets resurser delas upp mellan olika virtuella gästsystem som körs i värdsystemet. Olika uppgifter från olika gästsystem kan exekveras oberoende av varandra och tilldelas egna skyddade minneszoner. Detta stöd kommer till användning i Radeon Pro-produkterna.

Kommentarer till artikeln

509 debattinlägg

Skicka en rättelse
99

Intervju från arkivet: Sven Rollenhagen – specialist på datorspelsberoende

WHO vill klassa dataspelsberoende som en sjukdom, vilket ger bränsle till debatten om huruvida för mycket gaming är skadligt. Under 2014 intervjuade SweClockers Sven Rollenhagen i ämnet, och svaren är lika aktuella idag. Läs mer

I samarbete med Phanteks
17

Rösta fram snyggaste RGB-bygget i Phanteks tävling

Fem medlemmar är i final i Phanteks RGB-inspirerade tävling och nu är det upp till SweClockers läsare att rösta fram bidraget som vinner ett presentkort på 5 000 kronor hos Webhallen. Läs mer

11

Jonas sammanfattar chassinyheterna från Computex 2018

Årets Computex-mässa bjöd likt tidigare upplagor på en uppsjö av nya chassimodeller. Då dessa lätt drunknar i flödet passar Jonas på att sammanfatta modellerna som redaktionen kikade på. Läs mer

0

Galleriet: Bilder från Dreamhack Summer 2018

Spana in galleriet från årets stora LAN-fest Dreamhack, som bjöd på spelturneringar, moddningstävlingar och ett överflöd av Billys pan pizza. Läs mer

4

Samsung vill utveckla egna grafikkretsar för mobiltelefoner

Precis som Apple före dem ska Samsung börja utveckla egna grafikprocessorer, vilka ska användas i billigare mobiltelefoner samt självkörande fordon. Läs mer

288

Hur mycket har du lagt på Steam genom åren?

Genom ett nytt verktyg gör Valve det möjligt att kolla upp hur mycket pengar som gått åt på Steam genom åren. Jacob ligger på blygsamma $997,04. Hur mycket mer eller mindre ligger du på? Läs mer

5

Vinnare korade i Dreamhack Casemod Championship på Dreamhack Summer 2018

Årets kamp i Dreamhack Casemod Championship stod mellan allt från miniatyrbyggen till massiva skrivbord, där juryn nu har korat en riktig tung vinnare med sällskap av en temariktig skapelse. Läs mer

5

SweClockers följer med bakom kulisserna på Dreamhacks Counter Strike-turnering

Dreamhack är inte bara en LAN-fest utan också centrum för ett flertal tävlingar i e-sport. SweClockers tar tillfället i akt och kikar in bakom kulisserna på CS:GO-tävlingen. Läs mer

11

5G-standarden spikas av 3GPP – sista pusselbiten innan kommersialisering

Efter 34 månaders mangling har industrin enats om specifikationen för 5G. Det innebär att det är fritt fram för tillverkare att färdigställa och slutligen kommersialisera 5G-produkter. Läs mer

I samarbete med Mionix
4

Wrestling och krossade skrivbord när medlem vinner kringutrustning från Mionix

Svenska Mionix sommartävling är nu avgjord och en lycklig SweClockers medlem går därmed vinnande ur striden med en helt ny uppsättning påkostade gamingtillbehör. Läs mer

5

FZ pratar Rage 2 och svensk spelutveckling med Avalanche Studios Magnus Nedfors

Svenska Avalanche Studios är utvecklarna bakom kommande Rage 2. Carl Johansson-Sundelius på FZ har pratat med spelets regissör Magnus Nedfors. Läs mer

66

Teknikstund: Bästa TV:n för sport

Fotbolls-VM är igång och med det ökar försäljningen av stora TV-apparater. Thomas Ytterberg går igenom fenomenet TV för sport och slår hål på de vanligaste myterna. Läs mer