Successivo

GPU

AMD Radeon RX 480, la prima Polaris

Michele Braga | 4 Luglio 2016

AMD Vga

Lo scorso 29 giugno Amd ha lanciato ufficialmente sul mercato la scheda grafica Radeon RX 480. Di questo prodotto se […]

Lo scorso 29 giugno Amd ha lanciato ufficialmente sul mercato la scheda grafica Radeon RX 480. Di questo prodotto se ne parla già  da diversi mesi in quanto Amd ha deciso di catalizzare l’attenzione disseminando dettagli lungo la strada che ha portato al giorno dell’annuncio vero e proprio. Abbiamo avuto l’opportunità  di partecipare all’evento di Monaco, durante il quale Richard Huddy – Amd Chief Gaming Scientist – e Evan Groenke – Product Marketing Manager Amd Radeon Technology Group – hanno illustrato e approfondito nel dettaglio quanto era stato già  anticipato alla stampa specializzata nel corso delle ultime settimane.
Ma passiamo ai protagonisti di questo articolo, ovvero la Radeon RX 480 e l’architettura Polaris. Mentre la prima è la scheda che potete già  acquistare presso i principali negozi online, la seconda rappresenta le fondamenta per la nuova generazione di modelli che saranno introdotti da qui all’inizio del prossimo anno. Già  perché la Radeon RX 480 è solo la prima della tre schede che saranno commercializzate questa estate: seguiranno – Richard ha lasciato intendere che sarà  solo questione di settimane – la Radeon RX 470 e la Radeon RX 460. Sarà  necessario attendere un po’ di più prima di poter vedere i nuovi modelli indirizzati al segmento più alto del mercato e avremo di certo tempo per parlarne più avanti.

Radeon RX 480

La Radeon RX 480, prima della nuova serie 400 che sfrutta l’architettura Graphics Core Next di quarta generazione di Polaris.

Radeon RX 480

Un’altra vista che mette in evidenza il formato a doppio slot, le uscite video del solo tipo Displayport e Hdmi e la griglia per smaltire l’aria calda dal dissipatore.

Gli obiettivi di Amd

Le sfide che hanno portato allo sviluppo di Polaris partono da alcune considerazioni e hanno tre obiettivi principali. Per prima cosa in base ai dati rilevati attraverso la piattaforma Steam, più del 90% dei videogiocatori che utilizzano un solo monitor giocano alla risoluzione di 1.920 x 1.080 pixel; in più dell’80% dei casi chi acquista una scheda grafica per giocare spende in media tra i 100 e i 300 euro.
Il primo obiettivo di Amd è stato quindi di creare un prodotto destinato a questo largo bacino di utenti che giocano alla risoluzione tipica di 1.920 x 1.080 pixel e in grado di fornire prestazioni eccellenti a questa risoluzione. Il secondo obiettivo è stato quello di offrire questo stesso prodotto a un prezzo inferiore alla soglia dei 300 euro. Il terzo obiettivo è stato quello di fornire molto di più di una scheda grafica adatta a giocare a questa risoluzione e in particolare di creare un prodotto capace di fornire un’esperienza di alto livello anche con la tecnologia più calda del momento, ovvero quella della realtà  virtuale o dei visori VR come HTC Vive e Oculus Rift. Osservando i computer presenti sul mercato odierno, solo l’1% di questi – secondo le stime fornite da Amd – sarebbe in grado di offrire un’esperienza di alto livello con la tecnologia VR. Tutto ciò non è un problema solo per gli utenti, ma anche per gli sviluppatori che si trovano a investire tempo e risorse economiche su una tecnologia che al momento risulta accessibile a un ristrettissimo gruppo di utenti e che per di più è ritenuta dagli stessi estremamente costosa. L’attuale amministratore delegato di Unity ha dichiarato che quest’anno l’80% degli sviluppatori non sarà  in grado di rientrare degli investimenti profusi nello sviluppo di titoli compatibili con la tecnologia VR perché il mercato è ancora troppo ristretto e questo a causa dell’elevato costo dell’hardware necessario per sperimentare la realtà  virtuale. La previsione per il prossimo anno non appare migliore in quanto saranno ancora tra il 60% e il 70% gli sviluppatori in passivo sui progetti della realtà  virtuale e questo a causa della mancanza di un pubblico sufficientemente vasto a cui proporre questa nuova generazione di prodotti.

Polaris_1

Gli ingredienti di Polaris

Prima di tutto il processo produttivo che, ora, è quello di tipo FinFET a 14 nanometri di Global Foundries. L’abbandono della tecnologia a 28 nanometri in favore della nuova a 14 nanometri – l’abbiamo aspettata anche troppo a lungo – porta vantaggi su molti fronti: da un lato è possibile ridurre in modo significativo l’impronta del die in silicio a parità  di architettura, ma soprattutto è possibile espandere quest’ultima rispetto al passato mantenendo un die di dimensioni ottimali per bilanciare le prestazioni velocistiche pure, l’efficienza, la resa produttiva degli impianti e il prezzo finale del prodotto. Qualcuno si ricorderà  sicuramente del famoso “sweet spot” del quale Amd parla da molti anni e che si riferisce a die con una dimensione di circa 230 millimetri quadrati. Il chip di Polaris 10 – ci torneremo tra poco – ha una superficie di 232 millimetri quadrati e sfrutta quindi tutto lo spazio disponibile per impacchettare transistor a 14 nanometri dentro la Gpu. Secondo i dati forniti da Amd l’utilizzo del processo produttivo FinFET a 14 nanometri ha permesso di ottenere un miglioramento delle prestazioni per watt pari a 1,7 volte rispetto alla stessa architettura prodotta con tecnologia a 14 nanometri. A ciò si devono aggiungere le ottimizzazioni introdotte da Amd all’architettura Graphics Core Next – siamo alla quarta generazione – e che hanno permesso di migliorare le stesse prestazioni per watt fino a 2,8 volte rispetto alla precedente generazione di prodotti.

Polaris 10

Il chip del processore grafico Polaris 10 in una delle immagini rilasciate da Amd.

Due Polaris

Polaris è il nome con cui Amd identifica la nuova generazione di architetture e già  in questa prima fase siamo di fronte a due varianti: Polaris 10 e Polaris 11. La prima è quella che serve alla costruzione delle Radeon RX 480 e delle future Radeon RX 470, mentre la seconda sarà  alla base delle Radeon RX 460. Polaris 10 è quindi una famiglia di processori grafici dotato di maggiori unità  di calcolo rispetto a quella Polaris 11 e in questo articolo facciamo riferimento a Polaris 10 che nel caso della Radeon RX 480 è utilizzato al massimo delle sue potenzialità .

Graphics Core Next

Per chi ancora non la conoscesse, l’architettura Graphics Core Next è quella che Amd utilizza da circa cinque anni e che con Polaris raggiunge la quarta iterazione che troverete indicata come GCN 1.3; la numerazione è sfasata in quanto la prima generazione è indicata come 1.0, la seconda come 1.1 e la terza come 1.2. Il cuore dell’architettura è costituito, quindi, dalle unità  GCN Compute Unit – indicate come GCN CU – all’interno delle quali sono racchiuse in modo organizzato le unità  di calcolo e le strutture di supporto. Nel corso degli anni le unità  GCN CU sono rimaste pressoché immutate a livello logico, mentre a livello funzionale sono state apportate ottimizzazioni, modifiche e aggiunte di nuove funzioni.
Il processore grafico della Radeon RX 480 – noto con il nome in codice Ellesmere XT – utilizza tutte le 36 unità  GCN CU disponibili in Polaris 10. Queste sono organizzate a gruppi di 10 all’interno di quattro macro blocchi denominati Shader Engine (SE). Questi comprendono, oltre ai moduli GCN CU, anche un motore geometrico, un’unità  di rasterizzazione e due blocchi di unità  Rop per un totale di 16 Rop per ogni Shader Engine.

Graphics Core Next Compute Unit Polaris

Lo schema delle GCN Compute Unit non è cambiato nel corso degli anni, ma Amd ha introdotto il supporto a nuove istruzioni e ottimizzato il funzionamento per ottenere maggiori prestazioni e maggiore efficienza.

Ogni GCN CU è organizzata con un singolo scheduler programmabile e condiviso che gestisce 4 unità  vettoriali Simd (Single Instruction Multiple Data) – per un totale di 64 stream processor – e un’unità  di calcolo scalare; ogni unità  Simd dispone di un registro vettoriale dedicato da 64 Kbyte, mentre l’unità  di calcolo scalare dispone di registri scalari per un totale di 4 Kbyte. All’interno del modulo GCN CU sono presenti 64 Kbyte di memoria per lo scambio di dati (Local Data Share) e una cache di primo livello (L1) da 16 Kbyte. A completare la struttura del modulo GCN CU troviamo inoltre 4 unità  di texture, ognuna delle quali è affiancata da 4 unità  per il fetch delle texture.

Polaris 10

Lo schema completo di Polaris 10 utilizzato per la produzione della Radeon RX 480. La stessa architettura sarà  impiegata anche per la Radeon RX 470 che però disporrà  di 32 di GCN CU contro le 36 totali.

A monte di questa è presenta la struttura di controllo in grado di gestire il flusso di dati da elaborare. Questa sezione dell’architettura – denominata Command Processing – è composta dal Graphics Command Processor, dalle unità  Asynchronous Compute Engine (ACE), da quelle Hardware Scheduler (HWS) per Asynchronous Compute e dagli Scheduler. Nello specifico l’architettura Ellesmere XT prevede un Command Processor, quattro unità  ACE e due unità  HWS.
Una delle grandi novità  introdotte con Polaris e che sfrutta le unità  di gestione presenti nella sezione Command Processing è la modalità  di esecuzione Quick Response Queue. Per comprendere appieno di cosa si tratta e quali sono i vantaggi occorre fare un passo indietro. Come avviene già  diversi anni, la Gpu è utilizzata non solo per elaborare i pixel veri e propri, ma anche per eseguire in modo più efficiente che sulla Cpu elaborazioni di vario genere come, ad esempio, quelli relativi all’intelligenza artificiale del motore di gioco, elaborazioni degli effetti audio e tanto altro ancora.

Polaris Quick Response Queue

Lo schema esplicativo che mostra i diversi approcci per l’utilizzo dell’Asynchronous Compute.

La Gpu si trova quindi a eseguire quelle che per scopo esplicativo indicheremo come computazione grafica (A) e computazione pura (B). Durante l’esecuzione di un gioco, il compito principale del processore grafico è quello di lavorare su computazioni di tipo A per sfornare pixel da visualizzare. Tuttavia i programmatori possono avere la necessità  di utilizzare la Gpu per computazioni di tipo B e in questo caso devono accedere alle risorse di calcolo attraverso la strada alternativa delle unità  ACE che sono in grado di iniettare le code di calcolo verso gli Shader Engine.
Per gestire questi due differenti flussi di elaborazioni è possibile adottare diversi approcci. Il primo è quello che prevede di sfruttare le risorse inutilizzate della pipeline grafica – bolle della pipeline, ovvero sezioni in attesa di dati per proseguire l’elaborazione – per portare avanti l’elaborazione delle computazioni di tipo B. Si tratta di un’idea simile a quella utilizzata da Intel con l’Hyper-Threading e che permette di sfruttare le porzioni della pipeline che sono inattive per svolgere un secondo task. In questo approccio la priorità  è lasciata alle computazioni di tipo A e quelle di tipo B avanzano in funzione alla quantità  di risorse disponibili.
In questa situazione però se è necessario eseguire una computazione B in tempi rapidi non è possibile darle priorità  di esecuzione. Per questo motivo è stata previsto un secondo approccio nel quale il programmatore può indicare come prioritaria l’esecuzione della computazione B in modo da renderne l’esecuzione pressoché immediata. Lo svantaggio, in questo caso, è che questo approccio prevede uno svuotamento completo delle pipeline per assegnare tutte le risorse alla computazione B e quindi restituire accesso alle risorse di calcolo per le computazioni A. Ottimo, abbiamo ottenuto un’esecuzione rapida della computazione B interrompendo però il flusso della computazione A che produce i pixel da visualizzare.
Il terzo approccio, ovvero il Quick Response Queue, affronta il problema da un altro punto di vista. Esistono delle computazioni di tipo B che è necessario completare in tempi rapidi, ma esiste anche la necessità  di mantenere un livello minimo di risorse dedicate alla grafica per mantenere costante il flusso di pixel verso il frame buffer. Con il Quick Response Queue il programmatore è in grado di definire un minimo di risorse che devono sempre essere allocate alle computazioni di tipo A e permettere l’utilizzo della restante parte in modo dinamico qualora sia necessario svolgere computazioni di tipo B.
Questo terzo caso si verifica, ad esempio, durante le chiamate per il time warping utilizzato nella realtà  virtuale. Qualora il sistema di sensori del visore VR rilevi un cambiamento del punto di vista dell’osservatore prima che i fotogrammi siano inviati al visore, il motore di calcolo può applicare quello che si chiama time warping, ovvero una trasformazione o deformazione dei fotogrammi stessi in modo da renderli il più simili possibile a quelli che l’osservatore si aspetta dopo aver mosso la testa. Questo permette di mantenere un flusso di immagini coerenti con i movimenti del giocatore e con quanto viene percepito e atteso dai nostri apparati sensoriali. Una mancanza di coerenza è ciò che provoca la nausea durante l’utilizzo dei sistemi VR.
Con questo esempio speriamo di aver chiarito l’importanza di riuscire a elaborare computazioni pure in parallelo a quelle di tipo grafico e del ruolo che la tecnologia Quick Response Queue gioca per permettere alla scheda Radeon RX 480 di offrire un’esperienza di alta qualità  con i visori VR.

Polaris Quick Response Queue

Lo stesso grafico con le immagini in verticale permette di comprendere meglio i vantaggi della Quick Response Queue rispetto agli altri due approcci.

Lo stesso grafico con le immagini in verticale permette di comprendere meglio i vantaggi della Quick Response Queue rispetto agli altri due approcci. Nel primo caso presente nel grafico, i due avvallamenti corrispondono al cambio di task sull’intera architettura e quindi a cicli di calcolo sprecati . Nel secondo caso è possibile eseguire computazioni grafiche e pure allo stesso tempo, ma poiché queste seconde non hanno priorità  il tempo di completamento può essere anche elevato e soprattutto eccessivo per alcune elaborazioni critiche. Nel terzo caso il processore grafico continua ad eseguire in contemporanea elaborazioni grafiche e pure, ma grazie alla possibilità  di gestire le priorità  un task critico può essere svolto in modo rapido utilizzando tutte le risorse della Gpu a parte quelle che il programmatore decide di mantenere riservate alla grafica.

Compute Unit Reservation

L’approccio Quick Response Queue funzione grazie al supporto per la definizione di risorse allocate: nell’esempio 8 GCN CU sul totale di 36 GCN CU sono allocate per l’elaborazione dell’audio attraverso la tecnologia True Audio Next, mentre le 28 GCN CU rimanenti continuano a svolgere elaborazione di tipo grafico.

Memoria GDDR5

I prodotti basati sui nuovi processori grafici con architettura Polaris faranno uso di memoria GDDR5. Per il momento, quindi, niente GDDR5X e niente memoria HBM di prima o seconda generazione. Richard Huddy e Evan Groenke hanno confermato che l’ottimizzazione del controller di memoria di Polaris permette di utilizzare la tecnologia GDDR5 senza che vi siano colli di bottiglia alla prestazioni del processore grafico e questo è stato il motivo per il quale non si è reso necessario l’utilizzo di memorie GDDR5X che avrebbero avuto inoltre un impatto sul prezzo finale dei prodotti. Per quanto riguarda la tecnologia HBM, Amd ha sottolineato come l’utilizzo di questa tecnologia, oltre che superfluo per questa gamma di prodotti, non sarebbe stato possibile senza un forte impatto negativo sul prezzo finale. Per quanto riguarda la Radeon RX 480 la banda di memoria disponibile è più che sufficiente, anche grazie alla disponibilità  di una cache L2 più ampia (2 Mbyte invece di 1 Mbyte) che permette di ridurre l’accesso alla memoria locale della scheda e alle migliori tecniche di compressione dei dati.

Pronta per il multimediale di domani

Uno dei punti sui quali Amd ha posto l’attenzione durante l’approfondimento tecnico dell’architettura Polaris riguarda il comparto delle tecnologie multimediali. I motori VCE (Video Compression Engine) e UVD (Unified Video Decoder) sono presenti nei processori grafici Amd da diversi anni, ma con Polaris sono stati apportati diversi aggiornamenti. Sul fronte della codifica il motore integrato nell’architettura Polaris supporta ora il formato HVEC (H.265) così come quello H.264; per quanto riguarda lo standard H.264 sono disponibili le modalità  di codifica 1.080p fino a 240 fps, 1.440p fino a 120 fps e 4K a 60 fps. Sul fronte della decodifica video, invece, sono supportati i formati HVEC Main 10 fino a 4K a 60 fps, Mjpeg a 4K fino a 30 fps e il futuro VP9 fino alla risoluzione 4K; restano invariate le modalità  H.264 fino a 4K a 120 fps, quella Mpeg4 fino a 1.080p a 60 fps e quella VC1 fino a 1.080p a 60 fps.

Polaris_encoding

Polaris_decoding

Un’altra novità  di Polaris consiste nell’introduzione della tecnologia True Audio Next che di fatto elimina la necessità  di avere un DSP (Digital Signal Processor) hardware dedicato all’interno dell’architettura permettono l’esecuzione di tutta l’elaborazione audio attraverso l’utilizzo delle unità  GCN CU in modalità  Asynchronous Compute. Dal punto di vista degli sviluppatori e delle applicazioni già  in commercio non cambierà  nulla e tutto quanto è stato scritto per fare uso della tecnologia True Audio sarà  compatibile e trasparente con il nuovo approccio True Audio Next.

Polaris e la qualità  nella riproduzione delle immagini e dei colori

La qualità  delle immagini non dipende solo dalla risoluzione, ma anche dai colori e dalle modalità  con le quali il flusso video viene trasmesso verso il dispositivo destinato a riprodurle, ovvero il display. Con Polaris, Amd supporta i monitor HDR (High Dynamic Range) attraverso l’aggiornamento delle uscite video che ora sono pronte e compatibili con gli standard Displayport 1.3 HBR3, Displayport 1.4 HDR e Hdmi 2.0b, tutte compatibili con lo standard di protezione dei contenuti HDCP 2.2.
Lo standard Displayport 1.3 HBR3 permette di raggiungere una banda di trasferimento dati pari 32,4 Gbit per secondo, ovvero pari all’80% in più di quella che è possibile ottenere attraverso l’impiego dello standard Hdmi 2.0b. La compatibilità  con lo standard Displayport 1.4 HDR permetterà  invece di pilotare display con profondità  di colore a 10 bit fino alla risoluzione 4K a 96 fps e permetterà  in futuro di utilizzare lo spazio colore Rec.2020 molto più ampio di quello sRGB che ancora oggi rappresenta lo standard nel mercato consumer.

Polaris displayport

In questa immagine sono riassunte le modalità  video supportate dall’architettura Polaris attraverso la connessione Displayport 1.3 HBR3.

AMD Radeon Software Crimson

Una nuova architettura richiede un supporto software aggiornato, ma in questo caso Amd è andata ben oltre e i driver Radeon Software Crimson 16.2.2 offrono un modo diverso per controllare i parametri operativi della scheda grafica attraverso lo strumento WattMan.

Polaris WattMan

La schermata dello strumento WattMan che permette di visualizzare e registrare lo storico dei parametri operativi delle schede Polaris e di intervenire sugli stessi attraverso una modalità  grafica e manuale.

Grazie a Radeon WattMan, gli utenti potranno controllare in modo estremamente preciso i parametri operativi della scheda e monitorarli attraverso un’interfaccia grafica evoluta che permette di registrare la risposta della scheda per un’analisi approfondita. Per rendersi conto delle funzioni e dell’utilità  di questo strumento è necessario provarlo sul campo e giocare con le diverse impostazioni sulle quali è possibile intervenire. I dati raccolti durante il normale utilizzo del computer oppure durante l’esecuzione di una applicazione specifica permettono di calibrare l’overclock e di creare un profilo per ricavare il massimo dalla scheda nelle diverse situazioni di utilizzo.

La prova e le prestazioni

Per la prova della Radeon RX 480 abbiamo utilizzato un banco prova composto dalla scheda madre Asus X99 Deluxe II sulla quale sono stati installati installati un processore Intel Core i7 6950X, 16 e 32 Gbyte di memoria DDR4 Kingston e un disco Ssd OCZ ARC100 da 240 Gbyte con interfaccia Serial Ata di terza generazione. Il sistema operativo che abbiamo utilizzato è l’ultimo di casa Microsoft, ovvero Windows 10 Professional aggiornato attraverso Windows Update.

Nei test che abbiamo eseguito la Radeon RX 480 nella versione da 8 Gbyte si è ben comportata in tutte le occasioni. Di seguito riportiamo un estratto dei risultati che trovate nella prova pubblicata sul numero di luglio di PC Professionale.

Polaris_risultati

Realtà  virtuale

Grazie al supporto di Amd abbiamo avuto modo di provare la Radeon RX 480 anche con un kit HTC Vive per la realtà  virtuale. Al momento è ancora difficile valutare le prestazioni in termini numerici – fatta eccezione per il test SteamVR che fornisce un indice di idoneità  del sistema all’esecuzione di contenuti in realtà  virtuale – e il nostro giudizio si basa quasi esclusivamente sull’esperienza diretta nell’utilizzo di questa scheda grafica abbinata al visore HTC Vive. Uno degli obiettivi della Radeon RX 480 è proprio quello di permettere l’utilizzo di questa tecnologia anche con una scheda grafica dal prezzo contenuto e nel tempo che abbiamo dedicato alla prova siamo rimasti stupiti di come la Radeon RX 480 sia in grado di permettere un’esperienza di utilizzo più che discreta con l’HTC Vive. Se da un lato è vero che per ottenere le migliori prestazioni e la migliore qualità  di visiva è necessario hardware di fascia alta, dall’altro siamo rimasti pienamente soddisfatti da questo abbinamento e dalle tecnologie messe in campo da Amd. In prospettiva, la strada intrapresa con Polaris potrebbe portare nel giro di poco tempo a una maggiore diffusione delle piattaforme VR, ma bisogna ricordare che la scheda grafica non basta e che serve comunque una buona configurazione hardware di contorno.

Conclusioni

Al di là  dei numeri, la Radeon RX 480 ci ha restituito un’ottima impressione per quanto riguarda l’utilizzo reale con alcuni dei videogiochi più recenti. Il modello con 8 Gbyte di memoria – quello che abbiamo provato in questo articolo – è proposto a un prezzo consigliato di 262 euro, mentre la versione dotata di 4 Gbyte di memoria è proposta a un prezzo consigliato di 220 euro. Osservando i risultati ottenuti nel confronto con la Radeon R9 Nano (architettura Fiji) che ha un prezzo medio di circa 500 euro e con la Radeon R9 390X (architettura Volcanic Islands) che ha ancora un prezzo medio di 370 euro, la Radeon RX 480 dimostra di essere il prodotto con il miglior rapporto tra prezzo, prestazioni e funzionalità  nel listino di Amd.

Nel confronto con la rivale Nvidia, la Radeon RX 480 si attesta su un livello di prestazioni medio sostanzialmente in linea con quanto offerto dalla GeForce GTX 970 in versione standard, mentre è in grado di superare con disinvoltura sia le GeForce GTX 960 sia le Radeon della serie 380. Tenuto conto del prezzo di acquisto – in questi primi giorni di vendite il prezzo reale fluttua in modo sensibile in funzione del brand e del punto vendita – la Radeon RX 480 coglie appieno l’obiettivo di ridefinire il segmento medio del mercato, sopratutto quando si mette in conto l’esperienza ottenuta con il kit HTC Vive. Un eventuale aggiustamento verso il basso del prezzo reale, magari anche sotto a quello consigliato da Amd, renderebbe questo prodotto un “da comprare senza pensarci” per tutti coloro che sono alla ricerca della scheda grafica di fascia media dal miglior prezzo. Anche al prezzo consigliato, la Radeon RX 480 resta una scheda estremamente valida e un prodotto da valutare sia per un aggiornamento sia per chi si appresta a costruire un nuovo Pc.