Successivo

GPU

AMD Navi e il futuro delle famiglia Radeon

Michele Braga | 6 Dicembre 2019

AMD Gpu Grafica Radeon

La prova di AMD Navi e l’analisi dell’architettura RDNA. La prima traccia di AMD Navi risale al Financial Analyst Day […]

La prova di AMD Navi e l’analisi dell’architettura RDNA.

La prima traccia di AMD Navi risale al Financial Analyst Day del maggio del 2017, ma solo dallo scorso luglio e dopo due anni di sviluppo sono disponibili i primi modelli della nuova generazione di schede grafiche Radeon. In questo caso parliamo della Radeon RX 5700 XT, il modello destinato a rimpiazzare le soluzioni Vega partendo dal segmento intermedio del mercato per arrivare il prossimo anno a rimpiazzare l’attuale top di gamma Radeon VII. L’obiettivo della serie Radeon RX 5700 è di lasciare il segno nel cuore dei videogiocatori alla ricerca di una prodotto in grado di offrire prestazioni di alto livello senza prosciugare il portafogli.

La prima fase di questo cambiamento si concentra sul segmento di mercato più effervescente con due modelli: Radeon RX 5700 XT e Radeon RX 5700. Mentre la prima è basata su Navi 10 in versione completa, la seconda utilizza una versione ridotta della stessa Gpu che rinuncia a una parte delle prestazioni in cambio di un minor prezzo e di un minor consumo. A listino trovate anche la versione Anniversary Edition della RX 5700 XT – AMD festeggia il compleanno numero 50 – caratterizzata da un overclock di fabbrica.

AMD Radeon RX 5700 XT
AMD Radeon RX 5700 XT
AMD Radoen RX 5700
AMD Radoen RX 5700
AMD Radeon RX 5700 XT Anniversary Edition
AMD Radeon RX 5700 XT Anniversary Edition

Sebbene Navi 10 non sia la prima Gpu prodotta a 7 nanometri è però la prima che merita un’attenzione particolare. Uno dei punti chiave di questo progetto si trova nelle fondamenta dell’architettura: AMD ha abbandonato dopo anni l’architettura GCN (Graphics Core Next) in favore della nuova RDNA (Radeon DNA). Quest’ultima nasce dalla volontà di migliorare la precedente e ormai consolidata soluzione GCN con l’obiettivo di aumentare le prestazioni e massimizzare l’efficienza, mantenendo al tempo stesso la piena compatibilità del software tra le due generazioni. Come ha dichiarato la stessa Lisa Su, l’architettura RDNA è stata sviluppata focalizzando l’attenzione sulle prestazioni con i giochi – non è un caso che vedremo proprio delle varianti di Navi a bordo delle future Playstation 5 e Xbox – e sulla scalabilità.

Nei piani di AMD questa scalabilità si concretizza con la possibilità di creare prodotti in grado di spaziare dal mondo degli smartphone – è di giugno la notizia della partnership con Samsung per la cessione di proprietà intellettuali al fine di creare un SoC Exynos con grafica Radeon – fino a quello del super computing, passando per le piattaforme notebook, desktop e workstation.
L’intero ventaglio di soluzioni richiederà almeno un paio di anni di sviluppo, ma già entro la metà del prossimo anno saremo in grado di valutare l’efficacia dell’architettura RDNA e del progetto Navi: nei primi sei mesi del 2020 è previsto il debutto di un nuova Gpu Navi basata su architettura RDNA 2.0 – frutto dell’esperienza accumulata con questa prima Gpu Navi – che equipaggerà una Radeon top di gamma e sarà alla base della prossima generazione di console Microsoft e Sony. All’interno di questo articolo ci concentriamo sulla Radeon RX 5700 XT, sul processore grafico Navi 10 e sulle novità introdotte da AMD con l’architettura RDNA.

Architettura RDNA

L’ingrediente segreto dei processori grafici Navi è la nuova architettura RDNA. Vediamo quindi nel dettaglio qualche numero per che ci permette di confrontare la nuova Gpu con quella Vega 20 impiegata sull’attuale top di gamma Radeon VII, con quella Vega 10 presente sulle Radeon Vega 64 e Radeon Vega 56 e con quella Polaris 20 alla base delle Radeon RX 580 e RX 570.

Navi 10 è prodotta da TSMC con tecnologia a 7 nanometri e si sviluppa su una superficie di 251 millimetri quadrati: parliamo del 24% in meno rispetto ai 331 millimetri quadrati di Vega 20 prodotta con la stessa tecnologia, del 48% in meno rispetto ai 486 millimetri quadrati di Vega 10 prodotta a 14 nanometri e di circa l’8% in più rispetto ai 232 millimetri quadrati di Polaris 20 prodotta anch’essa a 14 nanometri. Delle prime tre Gpu prese in considerazione, Navi 10 è quella che contiene il minor numero di transistor: 10,3 miliardi contro i 13,2 miliardi e i 12,5 miliardi presenti rispettivamente in Vega 20 e Vega 10; rispetto a Polaris 20, l’incremento in termini di transistor raggiunge addirittura l’80%.

LE CARATTERISTICHE TECNICHE
ModelloRadeon RX 5700 XT AERadeon RX 5700 XTRadeon RX 5700Radeon RX 5500
GpuNavi 10 XTXNavi 10 XTNavi 10 XLNavi 14 XL
Dimensione die (mm2)251251251158
Numero di transistor (miliardi)10.310.310.36.4
Tecnologia produttiva (nm)7 FinFET7 FinFET7 FinFET7 FinFET
Frequenza base / boost / gaming (MHz)1.680 / 1.8301.605 / 1.755 / 1.9051.465 / 1.625 / 1.7251.670 / 1.717 / 1.845
Generazione architetturaRDNA 1.0RDNA 1.0RDNA 1.0RDNA 1.0
Moduli Compute Unit40403622
Stream Processor2560256023041408
Unità di texture16016014488
Unità Rop64646432
Frequenza memoria (MHz)1750175017501750
Frequenza memoria equivalente (MHz)14000140001400014000
Ampiezza del bus di memoria (bit)256256256128
Tipo di memoriaGDDR6GDDR6GDDR6GDDR6
Quantità di memoria (Gbyte)8884
Banda di memoria (Gbyte/s)448448448224
InterfacciaPci Express 4.0Pci Express 4.0Pci Express 4.0Pci Express 4.0
TDP (watt)235225180150
Elaborazione mezza precisione (GFlops)17.203 / 20.27616.435 / 19.51013.501 / 15.9009.405 / 10.390
Elaborazione singola precisione (GFlops)8.602 / 10.1388.218 / 9.7546.751 / 7.9494.703 / 5.196
Elaborazione doppia precisione (GFlops)537 / 633,6513,6 / 609,6421,9 / 496,8293,9 / 324,7
Supporto Microsoft DirectX12.012.012.012.0
Supporto OpenGL4.64.64.64.6
Supporto OpenCL2.02.02.02.0

Nel confronto con le Gpu Vega non lasciatevi però ingannare dai numeri: più piccolo non significa necessariamente meno potente perché qui entrano in gioco le differenze a livello di architettura. Quella RDNA, che per AMD rappresenta la pietra angolare attorno alla quale saranno progettate le Gpu del prossimo futuro, modifica l’organizzazione con cui avviene l’elaborazione dei dati: potremmo dire che siamo in presenza di un’evoluzione paragonabile al passaggio dall’architettura Bulldozer a quella Zen nel campo delle Cpu.
L’architettura RDNA è molto più efficiente rispetto alla precedente GCN – soprattutto con le applicazioni consumer e con i giochi – pur condividendone alcuni principi progettuali. I cambiamenti hanno permesso di ottenere prestazioni superiori del 25% per ciclo di clock e del 50% per watt consumato. Questi numeri sono il motivo per cui Navi 10 fornisce prestazioni di poco inferiori a quelle di Vega 20 – fatta eccezione per le applicazioni di calcolo puro e in particolare per le elaborazioni in doppia precisione – e superiori a quelle di Vega 10 anche con un minor numero di unità di calcolo.

Navi 10 presenta una differente organizzazione interna rispetto al passato: le RDNA CU sono accoppiate in moduli doppi con una nuova struttura di cache condivise: è presente una nuova cache L1 per ogni Shader Array (composto da 5 Dual Compute Unit) e una cache L2 condivisa, ripartita sui quattro controller di memoria GDDR6. Navi 10 è inoltre la prima Gpu con supporto nativo all’interfaccia Pci Express 4.0.
Navi 10 presenta una differente organizzazione interna rispetto al passato: le RDNA CU sono accoppiate in moduli doppi con una nuova struttura di cache condivise: è presente una nuova cache L1 per ogni Shader Array (composto da 5 Dual Compute Unit) e una cache L2 condivisa, ripartita sui quattro controller di memoria GDDR6. Navi 10 è inoltre la prima Gpu con supporto nativo all’interfaccia Pci Express 4.0.

A livello macroscopico Navi 10 è organizzato in blocchi funzionali connessi tra loro da un’infrastruttura Infinity Fabric: abbiamo il Graphics Command Processor, un Geometry Processor, il controller Pci Express 4.0, un Multimedia Engine, un Display Engine, un set di cache di secondo livello, quattro controller di memoria GDDR6 e due grandi Shader Engine all’interno dei quali sono racchiuse tutte le risorse di calcolo programmabili. Ciascuno dei due Shader Engine è organizzato in due gruppi – denominati Shader Array – che comprendono le nuove unità Dual Compute Unit, una cache grafica L1 di tipo condiviso, un’unità per la gestione delle primitive, un motore di rasterizzazione e quattro render backend. Il processore grafico nella sua forma completa – quello che trovate sulle schede Radeon RX 5700 XT – utilizza 20 Dual Compute Unit, ovvero un totale di 40 Compute Unit se si vuole avere un numero comparabile con quelli delle Gpu basate sull’architettura GCN.

LE CARATTERISTICHE TECNICHE
ModelloRadeon RX 5700 XTRadeon RX 5700Radeon VIIRadeon RX Vega 64
GpuNavi 10 XTNavi 10 XLVega 20Vega 10 XT
Dimensione die (mm2)251251331486
Numero di transistor (miliardi)10.310.313.212.5
Tecnologia produttiva (nm)7 FinFET7 FinFET7 FinFET14 FinFET LPP
Frequenza base / boost / gaming (MHz)1.605 / 1.755 / 1.9051.465 / 1.625 / 1.7251.400 / 1.7501.247 / 1.546
Generazione architetturaRDNA 1.0RDNA 1.0GCN 5.0GCN 5.0
Moduli Compute Unit40366064
Stream Processor2560230438404096
Unità di texture160144240256
Unità Rop64646464
Frequenza memoria (MHz)175017501000945
Frequenza memoria equivalente (MHz)140001400020001890
Ampiezza del bus di memoria (bit)25625640962048
Tipo di memoriaGDDR6GDDR6HBM2HBM2
Quantità di memoria (Gbyte)88168
Banda di memoria (Gbyte/s)4484481028483.8
InterfacciaPci Express 4.0Pci Express 4.0Pci Express 3.0Pci Express 3.0
TDP (watt)225180300295
Elaborazione mezza precisione (GFlops)16.435 / 19.51013.501 / 15.90022.272 /27.64820.431 / 25.330
Elaborazione singola precisione (GFlops)8.218 / 9.7546.751 / 7.94911.136 / 13.82410.215 / 12.665
Elaborazione doppia precisione (GFlops)513,6 / 609,6421,9 / 496,82.784 / 3.458,5638 / 792
Supporto Microsoft DirectX12.012.01212
Supporto OpenGL4.64.64.54.5
Supporto OpenCL2.02.02.02.0

AMD Navi RDNA Compute Unit

Per comprendere come AMD sia riuscita a migliorare l’efficienza passando dall’architettura GCN a quella RDNA è necessario aprire una parentesi. Semplificando molto il concetto diciamo che per migliorare le prestazioni di un’architettura di calcolo è possibile adottare due strategie: la prima consiste nell’incrementare il numero di istruzioni che i core sono in grado di elaborare per ogni ciclo di clock (IPC); la seconda consiste nell’aumentare il parallelismo e quindi nell’utilizzare un maggiore numero di core. Le Gpu sono per loro natura architetture parallele in quanto un’elaborazione tipica prevede l’esecuzione di un singolo programma (o set di istruzioni) su più elementi (ad esempio gruppi di pixel). La frequenza modifica le prestazioni indipendentemente dalla strategia scelta. L’architettura RDNA incrementa il numero di istruzioni per ciclo di clock e riduce le fasi di idle delle unità di calcolo attraverso una riorganizzazione della pipeline.

Una Dual Compute Unit accoppia due RDNA CU condividendo una cache e le comunicazioni verso l’esterno. In una RDNA CU le 64 Alu sono divise in due Simd da 32 elementi in grado di eseguire un’istruzione per ogni ciclo di clock.
Una Dual Compute Unit accoppia due RDNA CU condividendo una cache e le comunicazioni verso l’esterno. In una RDNA CU le 64 Alu sono divise in due Simd da 32 elementi in grado di eseguire un’istruzione per ogni ciclo di clock.

Cominciamo ad analizzare una singola RDNA Compute Unit – non proprio metà di una Dual Compute Unit vista la presenza di risorse condivise – per avere dati di raffronto con quelli delle GCN Compute Unit. Ogni RDNA CU contiene al suo interno 64 stream processor organizzati in due unità Simd (Single Instruction Multiple Data) indipendenti, ciascuna delle quali è composta da 32 Alu (Aritmetic Logic Unit). A fianco di ciascuna unità Simd sono presenti i registri vettoriali, un’unità di calcolo scalare con il proprio set di registri, uno scheduler e quattro unità di texture. L’architettura è in realtà più complessa perché due unità RDNA CU accoppiate formano la Dual Compute Unit che al suo interno dispone di una nuova struttura di cache condivise tra le due RDNA CU: troviamo infatti una cache per le istruzioni degli shader, una cache per gli scalari e una cache condivisa denominata Local Data Share.

AMD Vega GCN Compute Unit

All’interno di una GCN Compute Unit le 64 Alu sono ripartite in quattro Simd da 16 elementi che eseguono una istruzione in quattro cicli di clock. Rispetto alle nuove RDNA CU è presente una sola unità scalare invece di due.
All’interno di una GCN Compute Unit le 64 Alu sono ripartite in quattro Simd da 16 elementi che eseguono una istruzione in quattro cicli di clock. Rispetto alle nuove RDNA CU è presente una sola unità scalare invece di due.

Se passiamo all’analisi di singola GCN CU troviamo sempre 64 stream processor che però sono organizzati in quattro unità Simd indipendenti, ciascuna delle quali è composta da 16 Alu e corredata dei proprie registri vettoriali. Ciascuna GCN CU contiene poi uno scheduler, un’unità di calcolo scalare con il proprio set di registri, quattro unità di texture e una cache Local Data Share condivisa dalle quattro Simd.

Bilanciamento dell’architettura

Le microrarchitetture grafiche sono strutturate per operare principalmente su vettori, ovvero gruppi di dati accorpati in un singolo elemento. L’architettura GCN utilizza una struttura dati a 64 elementi denominata wavefront 64 o wave64. Ciascuno di questi ultimi è assegnato a una singola unità GCN che per portare a termine un’istruzione su un wave64 consuma quattro cicli di clock: un quarto di wave64 per ciclo. Lo scheduler è progettato per inoltrare un wave64 a una GCN CU ogni quattro cicli di clock così che in una situazione ideale ogni GCN CU riceve un wave64 quando almeno una Simd è libera. Questa architettura è estremamente efficiente se si utilizzano wavefront completi di tutti gli elementi e se non si presentano biforcazioni di codice che richiedono l’esecuzione di istruzioni differenti su porzioni differenti di un wavefront. Qualora il wave64 sia incompleto, ad esempio, saranno necessari comunque quattro cicli di clock prima di poter passare a una nuova istruzione.

L’architettura RDNA utilizza una struttura dati a 32 elementi denominata wavefront 32 o wave32. I motivi di questa scelta sono molteplici: il primo riguarda la compatibilità in quanto sono supportate entrambe le modalità wave32 e wave64 (questi sono ripartiti in due wave32). Il secondo motivo coinvolge la progettazione delle unità Simd che nell’architettura RDNA sono composte da 32 Alu: ciò significa che per portare a termine una singola istruzione su un wave32 è sufficiente un solo ciclo di clock. Gli scheduler e le cache sono state riprogettate in modo da rifornire in modo corretto le nuove unità di calcolo.

In questa analisi è necessario tenere conto che in una GCN CU sono presenti quattro unità Simd16, mentre all’interno di una RDNA CU sono presenti solo due unità Simd32. Sebbene l’architettura GCN sia in grado di avere un maggior numero di wave64 in esecuzione in simultanea il codice tipico di applicazioni consumer e soprattutto dei giochi porta ad avere un’alta frammentazione dei wave64 e quindi un elevato spreco di cicli sulle Simd16. L’utilizzo di wave32 e Simd32 garantisce un minor numero di idle e riduce le strutture di registri associati alla pipeline in quanto i vettori sono più compatti e le risorse sono liberate in tempi più rapidi.
Nel suo complesso Navi 10 è più efficiente pur avendo 2.560 stream processor rispetto ai 3.584 stream processor di Vega 10 usato per la Radeon Vega 56. La struttura di cache permette di ridurre l’impatto sulla memoria permettendo l’uso di quella GDDR6 al posto di quella HBM2.

Display e Multimedia Engine

Le schede equipaggiate con Gpu Navi 10 introducono migliorie anche sul fronte della gestione dei contenuti multimediali e dei dispositivi video collegati, sebbene non supportino ancora i formati più recenti in commercio. Le Radeon RX 5700 supportano lo standard FreeSync 2 e quindi anche la tecnologia Dolby Vision HDR10. Sulle schede troverete uscite video Displayport 1.4 e Hdmi 2.0b, ma manca il supporto allo standard Hdmi 2.1 con tecnologia Variable Rate Refresh. Sulla maggior parte delle schede grafiche in commercio non troverete nemmeno l’uscita mini Usb relativa al connettore VR, segno che la moda di questa tecnologia è ormai passata.

Il motore multimediale è stato aggiornato rispetto a quello presente nei processori grafici Vega e ora supporta la decodifica per formati H.264 4K150/8K30 e la codifica 4K90 (registrazioni Ultra HD a 90 Hz/PS). Per quanto riguarda lo standard H.265 è supportata la decodifica 4K60 e la codifica 4K90. Infine, vista la popolarità del formato VP9 soprattutto nei video destinati alle piattaforme YouTube e Twitch, Navi supporta la decodifica 4K60 di questo formato. I processori grafici Navi, inoltre, supportano entrambi gli standard HDR10 e Dolby Vision.

Radeon RX 5700 XT

Con la Radeon RX 5700 XT AMD ha rafforzato in modo consistente la propria offerta nel segmento medio del mercato. Rispetto alle precedenti soluzioni basate sull’architettura Polaris, il salto di prestazioni è evidente tanto che la Radeon RX 5700 XT riesce a tenere testa alle schede di fascia alta con Gpu Vega e lo fa a un prezzo decisamente più appetibile e concorrenziale. Questi sono i motivi che supportano la previsione di una rapida dismissione di tutte le soluzioni Vega: sul mercato non sembra esserci più spazio sia in termini di prestazioni e soprattutto di costo. L’unico modello che potrebbe resistere più a lungo è la Radeon VII, indirizzata più al settore del computing puro piuttosto che a quello gaming.

Questa strategia di mercato ha consentito ad aMD di guadagnare il tempo necessario a terminare lo sviluppo della seconda generazione dell’architettura Navi; questa dovrebbe essere la base della prossima Radeon top di gamma e delle Gpu che troveremo nelle console di prossima generazione. Le architetture RDNA 2.0 di seconda generazione – in arrivo il prossimo anno – introdurranno il supporto per la tecnologia ray tracing e molto probabilmente integreranno ulteriori ottimizzazioni rispetto all’attuale RDNA 1.0.

PRESTAZIONI
AMD Radeon RX 5700 XTAMD Radeon VIIAMD Radeon RX Vega 56
Futuremark 3DMark (patch 2.8.6446)
Time Spy Extreme396341963163
Time Spy872886636564
Fire Strike Ultra632264734701
Fire Strike Extreme11668118648678
Fire Strike220872226217310
Pci Express (Gbyte/s)21.114.235.2
Unigine Superposition Benchmark (1.0)
4K Optimized701374335038
1080P Exteme497854073806
1080P High11822122118469
1080P Medium165001675611930
Ashes of the Singularity: Escalation (Extreme)
3.840 x 2.16963.964.446.1
2.560 x 1.44081.975.456.5
1.920 x 1.08081.873.359.4
Strange Bridgade (Ultra)
3.840 x 2.169688454
2.560 x 1.44011613591
1.920 x 1.080161183129
Borderland 3
3.840 x 2.16957.136.225.7
2.560 x 1.44064.965.248.4
1.920 x 1.08086.485.170.3
Tessmark 0.3.0
Set 3 / Set 4 - 1.920 x 1.080
Tessellation level 1682.622 / 82.95291.482 / 92.38191.982 / 86.680
Tessellation level 3265.407 / 59.27268.053 / 63.06854.978 / 49.469
Tessellation level 6421.931 / 21.07327.354 / 25.27522.544 / 20.324
Luxmark 3.1
Neumann TLM-102 SE186612990619294
Hotel lobby305376985203
SPEC Viewperf 13 (1.900 x 1.060)
3dsmax-06184.81173.81148.37
catia-05263.46276.72229.27
creo-02167.35120.91108.19
energy-0228.5735.1223.3
maya-05241.47248.02201.38
medical-0283.5483.5468.03
showcase-02138.06144.61101.25
snx-0364.2835.4937.12
sw-04123.89106.6299.48

La Radeon RX 5700 XT è la soluzione AMD ideale per gestire tutti gli scenari di utilizzo fino alla risoluzione massima di 2.560 x 1.400 pixel (Wide QHD) e riesce anche a spingersi nel territorio dell’Ultra HD con alcuni giochi. La scheda è costruita utilizzando una camera di evaporazione collegata al radiatore per mezzo di pompe di calore; l’intero radiatore è quindi racchiuso in una scocca attraverso la quale fluisce l’aria convogliata da una singola ventola di tipo centrifugo. Questa soluzione, che riprendere le precedenti adottate da AMD, garantisce un corretto raffreddamento, ma risulta piuttosto rumorosa quando la scheda opera a pieno carico.
A fianco della Gpu Navi 10 sono presenti 8 Gbyte di memoria GDDR6 che garantiscono una elevata banda passante per i dati; la tecnologia GDDR6 è meno costosa di quella HBM2 utilizzata per le soluzioni Vega e questo è un altro fattore che gioca a favore delle nuove Radeon e del prezzo di mercato.