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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.