Mark Cerny – “Così ho creato PlayStation 4 Pro”

Indietro
Successivo

Dentro la GPU di PlayStation 4 Pro

DISCLAIMER: I paragrafi che seguono si focalizzano sulle soluzioni tecniche implementate dalla GPU di PlayStation 4 Pro, insieme alle strategie di rendering che permettono alla console di produrre immagini in 4K. Mark Cerny è andato molto nel dettaglio nel discutere caratteristiche e implementazioni, quindi questa parte è rivolta agli utenti più esperti. Se avete difficoltà di comprensione vi consigliamo di proseguire oltre con la lettura.
AMD è un partner fondamentale per Sony e lo sviluppo delle soluzioni integrate “CPU + GPU” (le cosiddette APU) che entrano a far parte della famiglia PlayStation non è mai a senso unico. Non c’è un semplice rapporto “fornitore-committente” insomma, ma le due parti discutono, si confrontano, cercano di definire l’approccio migliore e più sensato, in base alle esigenze che vengono espresse. “Quando discutiamo dei nostri nuovi chip con AMD” – esordisce Mark – “abbiamo la possibilità di guardare tutta la loro roadmap. Non solo i prodotti già disponibili”. Capita quindi che alcune caratteristiche di chip non ancora rilasciati su PC vengano richieste e implementate in anticipo, perché utili a PlayStation. O al contrario che da richieste specifiche di Sony derivino funzionalità che poi verranno integrate anche sulle GPU per PC! Come accaduto con Asynchronous Compute, ossia la capacità per la GPU di eseguire simultaneamente operazioni grafiche e calcoli generici (ad esempio per le interazioni fisiche).
polaris-delta-color-compression
Polaris è un’architettura di GPU molto efficiente e questo ha permesso di aumentare in modo significativo frequenza di funzionamento e performance, mantenendo quasi inalterate le dimensioni della console. Tra le nuove caratteristiche implementate da Polaris Mark cita DCC, ossia Delta Color Compression. Questa funzione è stata migliorata in Polaris e debutta su PlayStation con PlayStation 4 Pro: “Si tratta di una funzione che permette di comprimere al volo le informazioni destinate a frame buffer e render target, riducendo il consumo di banda passante sulla memoria” – ci spiega Mark. È un aspetto importante perché su PlayStation 4 Pro le prestazioni delle GPU sono cresciute molto di più rispetto alla velocità della RAM: 2,28 volte le prestazioni di GPU, 1,24 volte le prestazioni sulla RAM. Ricordate? Le GPU sono “affamate” di bandwidth, quindi risparmiare banda passante sulla RAM è essenziale!
Mark passa a illustrare un’altra funzionalità di Polaris, chiamata Primitive Discard Accelerator. Ce lo spiega in poche parole: ”Si occupa di rimuovere dalla scena 3D tutti quei triangoli che sono troppo piccoli per determinare una differenza visibile in termini di dettaglio. In questo modo si evitano calcoli inutili, migliorando l’efficienza della GPU”. Questa funzionalità è facile da attivare e i benefici sono sensibili, soprattutto quando si utilizza l’antialias MSAA.
polaris-fp16
Infine tra le funzionalità di Polaris ereditate da PlayStation 4 Pro, Mark Cerny cita un supporto migliore alle variabili a 16 bit, come gli “HalfFloats” (FP16). Fino a oggi con l’architettura AMD non c’erano particolari vantaggi nell’utilizzare variabili a 16 bit, perché internamente, nei registri, ciascuna di queste occupava lo stesso spazio di una variabile a 32 bit. “Con Polaris invece è possibile inserire due variabili a 16 bit all’interno di uno stesso registro a 32 bit” – spiega entusiasta Mark – “il che significa poterne utilizzare il doppio!”.
Su questo si innesta un’altra funzionalità della GPU di PS4 Pro, che invece non è ancora presente sulle GPU Polaris per PC e arriverà solo più avanti con futuri chip di AMD. È possibile infatti eseguire due operazioni a 16 bit contemporaneamente, invece di una sola operazione a 32 bit. “In altre parole” – ci dice Mark, tornando su un’affermazione che già in precedenza aveva fatto discutere – ”la potenza di calcolo della GPU di PS4 Pro in modalità “Full Float” (FP32) è di 4,2 TFLOPS, mentre in “Half Float” (FP16) arriva a 8,4 TFLOPS”. Questa volta però si spinge più nello specifico: “Ogni gioco è diverso. Ma più della metà della variabili credo che potrebbe essere ridotto a 16 bit. Anche se è difficile stimare con precisione quali potrebbero essere, in percentuale, i reali benefici”.
Poi c’è il “work distributor”: “Quando una GPU raggiunge una certa complessità” – spiega Mark – “è importante che disponga di un cervello centrale in grado di distribuire e bilanciare i carichi di lavoro al suo interno, per quel che riguarda il rendering della geometria”. Il “work distributor” di PS4 Pro fa proprio questo, ed è molto sofisticato. Inoltre include dei miglioramenti alla Tessellation, con la possibilità di suddividere meglio il carico di lavoro tra le diverse Compute Unit, in aggiunta a funzionalità di prossima introduzione da parte di AMD, che accelerano il rendering delle scene in presenza di tanti piccoli oggetti.

Indietro
Successivo