Traduci gli articoli

mercoledì 2 novembre 2016

Out of Control: I TFLOPS nascosti di PS4 Pro, l’ignoranza dei media e i 4K possibili solo su Project Scorpio


L'annuncio di Project Scorpio, con i suoi 6 e passa TFLOPS di potenza computazionale, ha spiazzato non solo i media, ma soprattutto Sony. Quella Sony che ha fatto, come ben saprete, dei 1080p e della maggior potenza computazionale (per meri 500 GFLOPS) contro Xbox One il suo cavallo di battaglia.

Ora che le cose si sono invertite, e nemmeno di poco, Sony è costretta a ricorrere ai ripari, perché i 4.2 TFLOPS di potenza RAW non potranno mai competere con i 6 di Project Scorpio. C'è poco da fare e conti alla mano solo Scorpio potrà garantire la risoluzione 4K nativa, lo dicono i numeri, ce lo dice Microsoft.

Cosa sta accadendo in questi giorni? Semplice, la ricorsa ai TFLOPS non è mai stata così patetica perché Sony sta cercando in tutti i modi di sviare il tema proponendo teoremi che sono vecchi come le GPU per PC ai tempi dell'architettura x86, illudendo le persone, prima fra tutti i fan di PlayStation, sperando che la stampa specializzata abbocchi alla dicitura "half-precision" che, attenzione, Mark Cerny nell'intervista ad Eurogamer non specifica facendo passare PS4 Pro una macchina capace di erogare ben 8.4 TFLOPS di potenza:

"Una delle caratteristiche che apparirà per la prima volta è la gestione delle variabili a 16 bit, sarà possibile eseguire due operazioni a 16 bit anziché una a 32 bit. In altre parole, a pieno regime computazionale, avremo una potenza pari a 4.2 TFLOPS. Utilizzando invece operazioni a 16 bit half-precision, tale valore verrà raddoppiato,  avremo quindi 8.4 TFLOPS operanti a 16 bit. Abbiamo del potenziale per aumentare drasticamente le prestazioni".

Segnatevi questa frase perché entrerà negli annali delle stupidaggini, detta per di più da un esponente importante di Sony.


Cerny è una delle menti dietro PS4 e la nuova PS4 Pro, un programmatore (non ingegnere elettronico) che ha aiutato Sony a realizzare le due console.


La cosa strana è che nè la redazione di Eurogamer si è interrogata sulla questione, nè tanto meno i vari media che stanno riportando la notizia come la"salsa segreta" di PS4 Pro, senza documentarsi un minimo. La questione è più semplice di quanto possa apparire, ma il buon Cerny ha voluto far passare un messaggio per un altro, affidandosi più al marketing che al buon senso.

Tutte le GPU moderne (per moderne intendo di almeno 10 anni) eseguono tre tipi di operazioni, sia su PC che su console, e sono definite operazioni "half-precision" (lavorano a 16 bit), "single-precision" (lavorano a 32 bit, e sono quelle più utilizzate dagli engine grafici), double-precision (lavorano a 64 bit, utilizzate solo lato server e applicazioni in campo medico).

Nei videogiochi le operazioni utilizzate per i rendering, il calcolo dei triangoli e i vari effetti che poi vengono applicati lavorano a 32 bit, ossia in single precision, questo perché sono gli stessi motori grafici a sfruttare sequenze per ciclo a 32 bit, con le operazioni a 16 bit utilizzate in campo mobile per determinare alcuni processi di base e conservare operazioni più complesse per altri campi, in modo da alleggerire carico computazionale e quindi anche la "temperatura" del SoC.
E le operazioni per ciclo a 16 bit non sono di certo nè una invenzione di Sony, nè tanto meno un loro brevetto esclusivo, dato che Microsoft le usa dalla notte dei tempi. Sono le "minime" variabili che la GPU può operare, in HLSL, con istruzione min16float per gli shader, calcoli che tra l'altro nemmeno vengono consigliati di eseguire proprio per la natura "primaria" che hanno i valori a 32 bit, i più utilizzati in assoluto.


Sfruttando operazioni miste in half e single precision si può incorrere in colli di bottiglia, errori causati da una poco efficace scalabilità delle operazioni in questione.

Le FP16, se vogliamo utilizzare il termine preciso, sono anche sfruttate su PS Vita, proprio perché indirizzate per i dispositivi mobile, più leggeri e meno performanti ad esempio rispetto un PC o una console casalinga. Sono tuttavia operazioni non adeguate in un contesto di formato computazionale grafico "desktop" perché possiedono istruzioni limitate e "semplici", ristrette ad un particolare range in bit se consideriamo, come già detto, operazioni grafiche.

Le FP16 non sono abbastanza "precise" da calcolare valori complessi (10+1.0/500 il cui risultato è 10), si tratta di un perdita considerevole di dati per una singola istruzione MAD, che impiegherebbe 100 secondi per eseguire una singola operazione a 16 bit rispetto ad una in FP32, ed è per questo motivo che non vengono utilizzate negli shader moderni ed è per questo motivo che tali istruzioni non vengono sfruttate per le operazioni computazionali.

Inoltre nei sistemi moderni (il discorso vale anche in campo mobile) le operazioni non sono limitate in ambito computazionale, bensì i limiti sono imposti dalla latenza e dalla larghezza di banda delle memorie ed è in questo contesto che le FP16 possono essere d'aiuto se intendiamo una operazione di shader di registro e non come conteggio di istruzione computazionale: le FP16 infatti sono utilizzate per estrapolare un 15% di velocità in più dai colli di bottiglia delle memorie/registro se il sistema lo permette. Ma nulla di più.

Affermare quindi che PS4 Pro possa raggiungere 8.4 TFLOPS di potenza complessiva se si utilizzano istruzioni a 16 bit è una colossale idiozia e, tale idiozia, può essere utilizzata anche per descrivere le half-precision di Project Scorpio, che ammonterebbe a 12 TFLOPS.


Una follia che descrive perfettamente lo status di Sony e dei suoi soggetti di spicco, in pieno stato confusionale che le provano davvero tutte pur di "dimostrare" che PS4 Pro non è poi così meno performante di Scorpio.

In quella frase di Cerny si può intuire tutto il disagio verso il 4K, a cui Cerny accenna sempre assieme alla parolina "checkerboard" pur di non ammettere che la Pro non è in grado di reggere, se non nei titoli indie, tale risoluzione nativa.

Checkerboard che soppianta la parola di "upscaling", abusata su Xbox One e non sia mai che vi sia una -ma inevitabile- inversione di tendenza. Ma quello che più danneggia l'immagine di Sony sono quegli stessi media che non si pongono domande, non fanno analisi tecniche per capire bene quei TFLOPS da dove vengano, non si domandano come mai Sony sia stata presa ormai con l'acqua alla gola perché, analizzando la GPU di PS4 Pro, possiamo anche affermare che di Polaris la PS4 Pro ha ben poco.

Leggendo l'intervista appare palese che si tratti semplicemente della GPU principale di PS4 esattamente "replicata" su Pro, una discrete GPU che vanta due strati in un SoC di dimensioni più compatte per via della tecnologia Finfet a 16 nanometri utilizzata. Detto in soldoni sono state solo aggiunte più Compute Units (ora 36, dalle 18 originarie di PS4) e ritoccati un po' i clock di CPU, GPU e RAM.

Perché dico questo? Perché Cerny specifica come funzionano i giochi di PS4 su Pro: si disattiva "mezzo core" della GPU (o meglio, vanno in idle i 16 CU aggiuntivi) per far coincidere la configurazione con la PS4 standard e permettere così la compatibilità col software.

E qui possiamo notare come i media videoludici rimangano ammutoliti: PS4 Pro non utilizza una sistema operativo virtualizzato come Xbox One (o la futura Scorpio) e per garantire compatibilità con i vecchi giochi si deve ricorrere a piccoli trucchetti informatici e, questa cosa, ricade anche sulle prestazioni dei giochi stessi che, se non patchati per uno standard "PS4 Pro", non garantiranno la benché minima miglioria, nè di frame rate, nè di risoluzione. In altre parole, i giochi devono essere sviluppati secondo un doppio standard (o, appunto, aggiornati post-lancio) per beneficiare della potenza aggiuntiva di Pro, altrimenti è come se si giocasse su PS4.


Prendete ora in esame i vecchi titoli per Xbox 360 e guardate come girano in emulazione su Xbox One: frame rate e caricamenti migliorati grazie al sistema virtualizzato che "fa credere" al gioco di girare sullo stesso hardware nonostante clock e banda siano maggiori. Il gioco "crede" di girare su Xbox 360 performando però sull'hardware di One e i risultati sono appunto maggior fluidità, effetti un po' più curati e caricamenti dimezzati. E parliamo di "semplice" emulazione.

Ora pensate a cosa possa essere Scorpio, e pensate a come i giochi per One potranno girare sulla nuova Xbox. Tutti i tioli che sfruttano risoluzione dinamica ad esempio, si adatteranno alla configurazione più avanzata di Scorpio per incrementare risoluzione e frame rate, in modo del tutto automatico senza interventi su software o trick sul firmware dell'hardware.

Già 343 Industries, Electronic Arts e The Coalition hanno confermato che i rispettivi Halo 5, Battlefield 1 e Gears of War 4 gireranno al massimo delle potenzialità già dal giorno del lancio di Scorpio, senza agire sul fronte software/hardware perché grazie alla scalabilità degli engine il tutto verrà gestito automaticamente dalla macchina.

Hardware più potente, software più performante, il tutto grazie alla virtualizzazione dei sistemi Xbox One e Scorpio e il tutto grazie alla scalabilità degli engine e dei nuovi approcci di programmazione su console, ormai identici alle controparti per PC.

E se su Scorpio potrete giocare a tutta la line-up di Xbox One e di Xbox 360 la situazione non sarà speculare sulla futura PS5. Come sottolineato da Cerny, con un nuovo hardware, sebbene con tecnologia x86, è davvero difficile mantenere la retrocompatibilità perché vengono chiamate in causa tantissimi variabili e variazioni tecniche che spezzano con il modello precedente. Aggiungo: è davvero difficile se si opta per vecchi stereotipi software e si mantiene un SO diverso per ogni piattaforma e non viene utilizzata la virtualizzazione in essere come fa invece Xbox One grazie ad Hyper-V e Windows 10.


Insomma, anche su PS5 il discorso legato alla retrocompatibilità con PS4/Pro sarà davvero difficile, soprattutto se si passerà ad una tecnologia più avanzata (da Polaris a Vega per intenderci) della precedente, cosa che invece non turba Microsoft nè l'utenza di Xbox, consapevole che con Scorpio (e tutti i modelli futuri di Xbox) la retrocompatibilità sarà sempre garantita proprio per un discorso legato al sistema operativo, virtualizzato.

Più andiamo avanti e più vengono a palesarsi le carenze di Sony, da una parte abbiamo una Microsoft avanguardista, che non vuole "spezzare" con i prodotti più vecchi, dall'altra abbiamo Sony che invece ha mantenuto una vecchia logico di "formati" disconnessi tra loro. Un discorso ove la scalabilità va a morire in partenza perché sia l'hardware che il software non permettono certi sviluppi.

Tornando alle FP16, tanto per dire, anche Xbox One è capace di gestire queste operazioni in quanto è proprio l'hardware che permette di calcolare questi valori in half-precision, valori però che non vengono utilizzati perché non ci sarebbe motivo, per ciclo di calcolo, utilizzare una FP16 anziché una FP32; inoltre le operazioni a 16 bit vengono utilizzate solo per determinati target (come le ombre ad esempio).

Ora invece volevo spendere due parole sulle DirectX 12, di cui mi sono fatto portavoce diretto ammettendo che solo con le nuove API grafiche si sarebbe estratto il massimo potenziale dall'architettura di Xbox One. Vi ricorderete senza troppi problemi il doppio cluster grafico della GPU della console, ergo il dual lane, chip di scarico e tante altre belle cosucce che solo adesso, dopo quasi tre anni, si stanno "concretizzando". Gli async compute finalmente sono realtà su One e i recenti Forza Horizon 3, Gears of War 4, Battlefield 1 dimostrano quanto sia valido l'hardware di questa bistrattata console.


Forza Horizon 3 e Gears of War 4 sono autentici capolavori, anche sul versante grafico e massimizzano tutti i processi di One, con entrambi i giochi visualizzati a 1080p e 30fps solidi con tutta una serie pazzesca di effetti applicati. Due gemme che valorizzano la One, due gemme che si affiancano però ad altri titoli impressionanti tecnicamente parlando "offuscati" però dai media: e mi riferisco a Quantum Break (ove prima la tecnica del temporal reconstruction era un male, adesso che si applicherà alla PS4 Pro è la cosa più bella mai vista perché quasi non ci si accorge che sia un upscale...), Ryse: Son of Rome, Sunset Overdive, Forza Motorsport 6 per citarne solo alcuni.


I team di sviluppo hanno familiarizzato con il chipset di Xbox One, hanno i tool giusti per estrarne il massimo per ogni ciclo di operazione, hanno le DX12 che finalmente hanno abilitato tutti i vari contesti tecnici della console. Un bel "ve l'avevo detto...." che si sta palesando, e anche i media non hanno potuto chiudere gli occhi davanti alla bellezza dei due recenti giochi esclusivi, nè di come giri Battlefield 1 che, nonostante la risoluzione dinamica, su Xbox One viaggia una meraviglia.

Dobbiamo ammettere che la risoluzione dinamica, praticamente la stessa su PS4 e One, tenda ad essere un po' più bassa sulla console di Microsoft, ma è altresì vero che in termini di frame rate la One vince a mani basse, potendo contare su una fluidità più consistente e con minori cali. Voglio ripetere però una cosa che magari è sfuggita ai più: Battlefield 1 vanta la stessa risoluzione su entrambe le console. Non più come per i vecchi capitoli a 720p su One e 900p su PS4, ma una base di 900p su entrambe. E sapete perché? Perché in EA hanno aggiornato il Frostbite ad una versione compatibile con le DX12 e i risultati sono evidenti. Le analisi dichiarano una risoluzione compresa tra i 1430x800 e i 1800x1020 sulla console di Sony e una risoluzione compresa tra i 1330x750 e i 1800x1020 sulla console di Microsoft. Inoltre i picchi più bassi sui 750p sono praticamente rarissimi.
Un risultato eccellente, non c'è che dire.



Chiudo seguendo l'apertura di questo Out of Control, ossia affermando che l'unica console in grado di far girare giochi ad alto budget a 4K nativi sarà Project Scorpio, come sostiene anche Respawn, autori di Titanfall 1 e 2, dicendoci che PS4 Pro è si potente, ma non abbastanza da poter permettere la massima risoluzione possibile ma, anzi, sarebbe anche strano vedere grosse produzioni girare in 4K su Pro.

Mettetevi l'anima in pace, Scorpio sarà 4 o 5 spanne sopra PS4 Pro, godrà di un hardware potente e innovativo, non sarà una Xbox One Two ma godrà di un design tutto nuovo e, non di meno, verrà garantita la piena retrocompatibilità su Xbox One, indietro e in avanti in modo che nessuna venga lasciato indietro.

Microsoft ha vinto, di nuovo, ma questa volta è una Fatality.

X-Rays