martedì 8 novembre 2016

PS4 Pro: tutto quello che c'è da sapere sull'hardware



Sony ha organizzato l'evento Join the Future of Play a Londra per preparare i giornalisti alle novità apportate da PS4 Pro e per fare chiarezza sulle caratteristiche hardware della nuova console basata su architettura Polaris. Se PS4 Pro è pensata soprattutto per sfruttare le nuove TV 4K e HDR ci sono tantissime altre cose da scoprire su quello che è il suo reale potenziale. A livello architetturale sfrutta alcune peculiarità di Polaris soprattutto in termini di parallizzazione del carico di lavoro e di efficientamento, con la capacità di scalare ai calcoli in virgola mobile nella cosiddetta mezza precisione e con nuove tecniche per la gestione dell'anti-aliasing e dell'upscaling a 4K. Per cui seguiteci e scopriamole insieme.Innanzitutto, PS4 Pro supporta lo standard HDR a 10 bit. Se fino a oggi si è continuato a utilizzare lo standard di gestione dell'High Dynamic Range delle vecchie TV CRT, agendo su questo standard è adesso possibile andare a cogliere e sfruttare la maggiore luminosità che oggi sono in grado di gestire le TV a LED più moderne. Giochi come GT Sport, Horizon Zero Dawn, Nioh e Rise of the Tomb Raiderevidenziano subito differenze molto marcate, con un particolare appunto per quanto riguarda nello specifico il titolo di guida, dove l'HDR diventa ancora più evidente. Nelle scene con luce solare particolarmente accentuata, quindi che sono contestualizzate negli orari di punta, si ha proprio la sensazione di assistere a un qualcosa di inedito per la storia dei videogiochi, del quale non puoi più fare a meno. In abbinamento alle nuove tecnologie hardware HDR delle TV moderne, si tratta di un'opzione grafica che può fare la differenza un po' come lo è stata la sua variante software ai tempi di Half-Life 2.L'HDR non necessita solamente un lavoro lato hardware da parte del monitor e del suo modo di gestire la luminosità, ma richiede anche un lavoro di implementazione da parte dello sviluppatore. Come ci ha spiegato il mitico Kazunori Yamauchi, il "papà" di Gran Turismo, presente all'evento per promuovere il suo GT Sport, non solo sono state utilizzate delle telecamere capaci di catturare la fedeltà cromatica originale, ma la creazione e la gestione dei materiali in-game deve essere rivista per sfruttare i nuovi dati in origine.

Non ci saranno, invece, modifiche lato CPU rispetto alla PS4 originale, mentre le Compute Unit risulteranno raddoppiate: 36 contro 18 di PS4. Questo per quanto riguarda l'architettura, mentre in fatto di frequenze di funzionamento si passa da 1,6GHz a 2,1GHz per quanto riguarda la CPU, e da 800MHz a 911MHz per la GPU. La bandwidth della memoria aumenta da 176GB/s a 218GB/s, ovvero del 24%.Ma le novità tecniche di PS4 Pro non si limitano all'HDR, visto che i tecnici di Sony hanno affinato nuove modalità per agevolare il rendering, o meglio l'upscaling, a 4K, così come l'ID buffer e il famigerato calcolo in virgola mobile a mezza precisione. Si è discusso molto a tal proposito dopo le rivelazioni di Mark Cerny, principale responsabile dell'architettura delle PS4. La capacità della nuova console di "retrocedere" all'elaborazione in 16 bit consente di aumentare la potenza teorica della console e di memorizzare due variabili a 16 bit in una sola voce di registro, che invece andrebbe esautorata da un'unica variabile a 32 bit con l'approccio tradizionale.



Questo consente di sfruttare meglio la bandwidth a disposizione di PS4 Pro e di gestire in maniera più efficiente le chiamate alle operazioni di calcolo per quanto concerne la GPU. L'elaborazione in FP16 è qualcosa che sta rientrando prepotentemente nel mondo tecnologico con le DirectX 12, perché è particolarmente funzionale rispetto all'organizzazione del carico di lavoro delle nuove API e della parallelizzazione dei task che ne consegue. PS4 Pro c'entra poco o niente con le DirectX 12, ma bisogna ricordare che l'architettura su cui è basata, AMD Polaris, è pensata alla base per sfruttare le API di nuova generazione, e per questo prevede delle accortezze hardware e software simili a quelle implementate dalle DirectX 12.

Le GPU moderne, dalle quali come noto derivano le GPU usate nelle console, sono in grado di eseguire tre tipi di operazioni: quelle a 16 bit, definite a mezza precisione (half precision), quelle a 32, ovvero a singola precisione (single precision), le più utilizzate dai motori grafici moderni, e quelle a 64 bit, doppia precisione (double precision), più frequenti soprattutto in ambito medico e lato server.Quindi, bisogna senz'altro rimarcare come l'elaborazione in mezza precisione non sia senz'altro un'invenzione di Sony PlayStation: esiste ovviamente da tempo in ambito PC, è molto popolare sugli smartphone e può essere ovviamente adottata anche nel caso della rivale Scorpio, la console Xbox che arriverà l'anno prossimo. Inoltre, i calcoli con precisione a 16 bit rischiano di causare una perdita di precisione in quei contesti in cui si trovano a lavorare insieme all'approccio a 32 bit, che è poi lo scenario di utilizzo più frequente. Questo tipo di computazione, infatti, viene spesso usato per le ombre, le quali vanno a operare congiuntamente ai calcoli relativi agli altri elementi dello scenario. I calcoli in virgola mobile in mezza precisione si sposano particolarmente bene anche nella gestione di certe geometrie e dei movimenti rotazionali, ma è molto difficile estendere questo approccio all'intera schermata di gioco. I calcoli a monte più generali vengono normalmente elaborati a 32 bit: in questo insieme si intende il rendering generico o l'elaborazione dei triangoli.



Cosa si intende quando si dice che le FP16 non sono abbastanza precise? Il sistema lavora unicamente con variabili di tipo integer e deve procedere a conversioni nell'evenienza in cui si trova a utilizzare rappresentazioni più complesse. Prendiamo come esempio il seguente calcolo: 10+1,0/10, il cui risultato in FP16 sarebbe appunto 1 e non 1,1 come accadrebbe nel caso di calcoli in FP32. Questo comporta una considerevole perdita di dati nel caso di elaborazioni complesse come le medie statistiche, ad esempio. È per questo motivo che da qualche generazione a questa parte, soprattutto quando sono stati istituiti gli shader moderni, si era deciso di passare ai calcoli a 32 bit. D'altra parte una questione molto importante è quella della bandwitdh: oggi il problema più grande, ovvero il collo di bottiglia più consistente, riguarda non tanto la quantità di operazioni processabili a livello computazionale ma proprio la larghezza di banda delle memorie, che cresce più lentamente rispetto alla capacità di elaborazione dei processori moderni. Le operazioni in FP16 garantiscono più velocità di trasmissione attraverso le memorie, il che aiuta a saturarle in misura minore.

Il raddoppiamento della potenza di calcolo massima teorica, quindi, si rivela tale solo in particolari scenari di utilizzo, anche perché questo tipo di approccio non può essere applicato automaticamente, ma va implementato a livello di motore grafico. Durante l'evento abbiamo chiesto Yamauchi-san se GT Sport supporterà l'elaborazione in mezza precisione e lui ha canditamente ammesso che nella fase di lancio non sarà possibile ottenere vantaggi in questo modo, ma che con una patch al motore grafico il supporto potrà diventare possibile in un secondo momento.

Nessun commento:

Posta un commento