amd vega

Introduzione

Vega è il nome di una stella che si trova a circa 25 anni luce dal nostro Sole, ed è considerata dalla comunità scientifica come la “seconda più importante stella nel cielo”. AMD ha dato il nome di questo maestoso corpo celeste alla sua nuova architettura GPU.

La GPU utilizzerà ancora una volta unità di elaborazione GCN, ma farà uso di componenti inedite in aggiunta ad una revisione quasi totale di quelle esistenti. Questo migliorerà notevolmente l’efficienza del chip in calcoli grafici complessi e nell’elaborazione di calcoli generali.

vega-market1vega-market2

 

 

 

 

L’idea alla base di “Vega”, è che gli approcci utilizzati sino ad oggi nella progettazione di una GPU, secondo AMD, non saranno in grado di soddisfare efficacemente le sfide tecnologiche dell’immediato futuro.

Il mercato odierno, dopo anni di ‘stallo’ a 1080p, si affaccia sempre di più su risoluzioni come 2K e 4K (si inizia a parlare già di 8K), che richiedono un notevole aumento della potenza di calcolo.

L’aumento del carico di lavoro richiede una maggiore ottimizzazione sia lato hardware che software, tramite aggiornamenti regolari dei propri driver.

AMD cerca di affrontare la questione alla radice, attraverso l’implementazione di tecnologie al livello del silicio che permettono alla scheda di apprendere il modo in cui una applicazione 3D si comporta, ed adattarsi di conseguenza sulla base delle risorse che l’applicazione richiede. In parole povere, ciò che AMD cerca di fare, è un sistema di auto-ottimizzazione delle proprie schede grafiche.

vega-market3vega-market4

 

 

 

 

La GPU ha bisogno di ampliare sempre più la propria capacità di elaborazione, per far fronte al crescente realismo nelle scene 3D fotorealistiche di oggi. Per incrementare questa capacità di elaborazione, AMD afferma di aver fatto grandi cambiamenti alle proprie GPU, grazie alla nuova architettura. In quest’articolo, andremo ad esaminare, quali sono le innovazioni ed i cambiamenti che AMD è fiera di portare sul mercato.

Il sistema di gestione della memoria

vegaLe slide mostrano una architettura delle memorie completamente rinnovata che permette ai dati di essere gestiti e sfruttati gradualmente dalla GPU, in modo che le risorse non siano sprecate nel recupero dei dati dalla macchina host.

Le GPU AMD sono tradizionalmente dotate di una grande larghezza di banda della memoria (memory bandwidth) ed utilizzano un ampio bus di memoria (memory bus); tuttavia, AMD pensa che sia arrivato il momento di migliorare il modo in cui le proprie GPU ‘destreggiano’ i dati tra l’host e la propria memoria video locale, e che non può più semplicemente ampliare la larghezza di banda della memoria.

vega-memoryvega-arch1vega-memory-cache-controller

 

 

 

 

AMD cerca di migliorare la gestione della memoria e di colmare la grande disparità tra l’allocazione di memoria (memory allocation) e il reale accesso (memory access) alla memoria delle applicazioni. Un’applicazione puó allocare in memoria dei dati che trova rilevanti per una scena 3D in fase di rendering, ma in realtà puó non utilizzarle a pieno per tutto il tempo.

Questa disparità tra risorse impiegate e risorse realmente necessarie, utilizza inutilmente memoria, tiene occupate risorse, e spreca cicli di clock nell’inutile tentativo di spostare i dati.

Il team di sviluppo del driver grafico normalmente collabora con gli sviluppatori di giochi per ridurre al minimo questo fenomeno e per porvi rimedio sia attraverso patch di gioco e sia con aggiornamenti dei driver. AMD ritiene che gran parte di questo problema, possa essere attenuato, partendo da una migliore ‘ottimizzazione’ a livello hardware. La casa rossa chiama questo “adaptive fine-grained data movement“. Si tratta di una pipeline di allocazione di memoria globale che rileva la pertinenza dei dati per passare preventivamente alla memoria fisica in questione, o rinvia l’accesso.amd-radeon-vega-game vega-memory-adaptive

 

 

 

 

Realizzare un sistema del genere, richiede nuove componenti hardware, che non si sono mai viste su GPU AMD.

Per iniziare, AMD utilizza una memoria cache veloce che si trova ad un livello superiore rispetto alla tradizionale cache L2, sufficientemente grande e con una latenza estremamente bassa. Questa cache è un die di silicio separato che risiede sull’ interposer, che altro non è che il substrato di silicio che collega il die GPU alle memorie. AMD chiama questo sistema ‘High Bandwidth Memory Cache (HBMC)’.

I controller di memoria convenzionali della GPU non si interfacceranno con questa cache poiché tutta la banda viene gestita da un Controller dedicato (High Bandwidth Cache Controller – HBCC ) sul die primario della GPU. Se ve lo stesse chiedendo, l’High Bandwidth Memory Cache, non è la stessa cosa dell’HBM2.

Leggi anche
AMD Radeon Pro Duo subisce un taglio sul prezzo

L’ HBCC ha accesso diretto alle memorie lungo il memory pipeline (rispetto le precedenti generazioni, che avevano una pipeline molto più lunga, il processo viene notevolmente velocizzato), incluso l’accesso alla memoria video, memoria di sistema, e così via. Ha 512TB di spazio di indirizzamento virtuale che è isolato/astratto dallo spazio di indirizzamento della macchina. La GPU utilizza l’HBMC per attutire ed ottimizzare lo spostamento dei dati tra la macchina host e la GPU. Questo approccio garantisce un impiego minore di risorse della GPU per il recupero dei dati (fetch data), e migliora notevolmente l’utilizzo della larghezza di banda.

La ragione di un cosi grande spazio di indirizzi virtuali è che gli indirizzi possono essere allocati in modo più efficiente, con l’unità di gestione della memoria nella GPU gestendo la mappatura dei dati da virtuale a fisica (virtual-to-physical mapping) ed avendo anche la capacità di spostare ‘pagine di memoria’ (memory pages) tra gli strati di storage, in modo simile al funzionamento del paging di Windows. Inoltre, notiamo la presenza della “NVRAM“. Questo significa che la GPU è in grado di interfacciarsi direttamente con la NAND Flash o gli SSD X-point 3D tramite una connessione PCIe localizzata, questo fornisce una scratchpad che sarà di supporto durante elaborazioni di dati gigantesche. La porta “Rete” consente ai produttori di schede grafiche di aggiungere network PHY direttamente alla scheda, questo potrebbe essere di aiuto con le rendering farms. In questo modo, AMD può avere un prodotto ‘comune’ per le varie tipologie di utilizzo (consumer, professional, rendering).

memory8 memory7

 

 

 

 

Come riportato nella notizia, “Vega” si avvale della memoria HBM2, che offre otto volte la densità massima per stack e il doppio della larghezza di banda delle memorie HBM1, la quale fece il suo debutto con la Radeon R9 Fury X. In teoria, è possibile arrivare fino a 32 GB di memoria distribuita in quattro blocchi, eliminando quindi il limite fisico dei 4 GB di HBM1.

La nuova generazione di Geometry, Compute, and Pixel Engine

vega-geometry1

amd-vega-geometry3 amd-vega-geometry4 geometry2

 

 

 

 

 

 

 

AMD ha migliorato il sistema di geometry processing (attraverso l’utilizzo di concetti matematici ed ingegneristici vengono progettati algoritmi efficienti per l’acquisizione, la ricostruzione, l’analisi, la manipolazione, la simulazione e la trasmissione di complessi modelli 3D) ed introdotto il supporto a primitive shaders, oltre che vertex e geometry shaders.

AMD ha anche migliorato il modo in cui distribuisce i carichi di lavoro tra i motori di geometria, calcolo, e pixel. Un primitive shader (lo shader é uno strumento della computer grafica 3D che generalmente è utilizzato per determinare l’aspetto finale della superficie di un oggetto) è un nuovo tipo di shader a basso livello che dà allo sviluppatore più libertà nello specificare tutti gli stadi di applicazione  da usare e permette di eseguirli ad una velocitá più elevata, poiché sono ormai disaccoppiati dal tradizionale modello shader pipeline delle DirectX . Anche se ‘idealmente’ lo sviluppatore dovrebbe preoccuparsi di compiere l’ottimizzazione di un’applicazione 3D, AMD, attraverso questo sistema, ha la capacità di predefinire i casi in cui un certo numero di DirectX shader può essere sostituito da un singolo primitive shader per migliorare le prestazioni di un gioco.

Leggi anche
Ray Tracing, cos'è?

compute2 compute1

 

 

 

 

L’unità di elaborazione (Compute Unit = CU) è il sistema di elaborazione dei calcoli numerici di base. Con “Vega,” AMD migliora la funzionalità della CU, che ora prende il nome di NCU (next-generation compute units), aggiungendo il supporto ad operazioni 8-bit, oltre alle operazioni a 16 bit (FP16) introdotte con “Polaris” e al convenzionale supporto alle operazioni a singola e doppia precisione in virgola mobile (floating point ops support ). Il supporto ad operazioni a 8 bit consente agli sviluppatori di giochi di semplificare il proprio codice.

compute4 compute3

 

 

 

 

AMD ha anche introdotto una nuova funzionalità chiamata “Rapid Packed Math” in cui raggruppa più operazioni a 16 bit tra i registri a 32 bit per semplificare il lavoro fatto in ogni ciclo di clock. Grazie a questi miglioramenti, il Vega NCU è in grado di gestire quattro volte le operazioni per ciclo di clock della generazione precedente, e di funzionare al doppio della velocità di clock. AMD è riuscita, inoltre, a rendere più efficace l’utilizzo della memoria con i suoi algoritmi di compressione d a migliorare il pixel-engine con un nuovo draw-stream binning rasterizer (la rasterizzazione è il lavoro di conversione di un’immagine bidimensionale descritta da vettori (in grafica vettoriale), in un’immagine raster o bitmap, ovvero formata da pixels). Questo permette di avere meno cicli di clock, ridurre l’utilizzo di risorse che vengono utilizzate frequentemente e diminuire l’occupazione della memoria.

pixel4 pixel3 pixel2 pixel1

 

 

 

 

 

 

 

Conclusione

copertina-78b887f14de6753397e352cdc37071a17L’architettura ”Vega” è senza dubbio la più importante innovazione proposta da AMD negli ultimi anni nel settore GPU. Il nome stesso, ispirato alla stella ‘Vega’, esprime la volontà dell’azienda di issarsi a nuovo punto di riferimento.

L’azienda ha studiato nei minimi dettagli questa nuova architettura, ed ha implementato sistemi innovativi, per far fronte ai problemi delle generazioni attuali di GPU. Il primo chip “Vega” sarà quasi sicuramente dedicato alla fascia ‘enthusiast’ ed andrà a sostituire il vecchio chip “Fiji”, che ha guidato la serie Radeon R9 Fury. Il chip sarà un modulo multi-chip con memoria HBM2 ed utilizzerà peculiari tecnologie per ridurre al minimo gli accessi alla memoria superflui (proprio questo è uno dei punti forti di Vega). Al giorno d’oggi infatti, disponiamo di hardware con una grande capacitá di calcolo, che però non viene sufficientemente sfruttato, a causa di una scarsa ottimizzazione software. C’è una grossa disparità tra le risorse che sarebbero realmente necessarie per far ‘girare’ un videogioco, e quelle che vengono messe a disposizione dalla macchina, questo fa si che il nostro hardware non venga sfruttato a pieno. AMD, con Vega, ha puntato proprio sulla risoluzione di questo problema, sviluppando sistemi innovativi per ridurre al minimo il ‘gap’ tra l’allocazione di memoria (memory allocation) ed il loro reale accesso (memory access) da parte delle applicazioni. Scelta saggia quella di AMD, specie considerando l’andamento generale nella produzione di software, che punta più alla quantità che alla qualità.

AMD ha svelato i dettagli della sua nuova architettura al CES 2017, senza però dare indicazioni su alcun prodotto nel dettaglio, cosa che molto probabilmente accadrà nel corso del primo semestre 2017. Personalmente non credo che questo slittamento sia dovuto al fatto che Vega non sia ancora pronta.. ma ritengo che sia stata una mossa puramente di marketing.

Che sotto sotto ci sia qualche nuovo accordo dell’ultimo minuto…?

I presupposti per rendere questa una delle tecnologie piú interessanti degli ultimi anni, ci sono.. Staremo a vedere effettivamente quanto tutte queste accortezze impatteranno sulle performance delle nuove GPU della casa Rossa. Noi attendiamo fiduciosi.

 

Fonte: techpowerup.com – wikipedia – pcworld.com – amd.com

Seguiteci su TELEGRAM e sul nostro GRUPPO FACEBOOK, per restare sempre aggiornati sulle ultime novità e sulle migliori offerte del mondo tech!

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui