PS5: la rivoluzione dell'ottimizzazione. Sviluppare non sarà più lo stesso secondo Cerny

di

Nel corso dell'intervista concessa a Digital Foundry, Mark Cerny si è focalizzato con molta attenzione su come funzioneranno CPU e GPU di PlayStation 5.

Nonostante non si sia ancora vista la console in azione, e nessun gioco sia stato mostrato, il lead architect ha provato a spiegare quali saranno i benefici della nuova architettura per i team di sviluppo e quali miglioramenti prestazionali possiamo aspettarci dalle produzioni next-gen.

Il primo aspetto su cui Cerny insiste è legato all'ottimizzazione. Il fatto che la potenza assorbita dal SoC di PS5 sia sempre sotto controllo, è un elemento fondamentale. "In un'architettura classica, come quelle usate fino ad oggi, la quantità di tempo che CPU e GPU impiegano per arrivare ad una certa frequenza è un dato fondamentale per gli sviluppatori. È un lasso di tempo breve, ma se il gioco richiede calcoli molto pesanti per alcuni fotogrammi, è lì che la potenza viene limitata", ed è lì che si genera un collo di bottiglia. Su PS5 questo inciampo non avviene, appunto perché le prestazioni sono già bloccate a un certo livello e rese prevedibili tramite la possibilità di monitorarle costantemente. In pratica, ci sarà un sistema che informerà gli sviluppatori con esattezza su quanta energia viene consumata da CPU e GPU.

"Potenza ed ottimizzazione sono correlate. Se mantieni la stessa potenza, vedrai dei vantaggi concreti, e potrai modificare il codice in modo da ottenere lo stesso livello di performance riducendo i consumi".
I programmatori, insomma, potranno ottimizzare i motori di gioco in modo diverso, con più cognizione di causa e più controllo.

Un altro passaggio interessante è la condivisione delle risorse energetiche tra CPU e GPU. I due elementi portanti dell'architettura, ovvero processore e scheda grafica, "hanno un determinato budget di potenza, e ovviamente quello della GPU è il più grande dei due”. In pratica, la CPU assorbe più potenza, mediamente. Tuttavia, in quei casi in cui "la CPU non utilizza completamente la potenza che gli è destinata a priori, allora la parte in eccesso va alla GPU. Si tratta di una tecnologia che AMD chiama SmartShift, e fa in modo che ci sia abbastanza energia perché CPU e GPU possano entrambe girare sempre al massimo; [...] gli sviluppatori non dovranno mai scegliere se limitare una delle due".

"C'è un altro fenomeno che abbiamo deciso di affrontare, il così detto "race to idle". Diciamo di avere un sistema che gira a 30hz, e che stiamo usando 28 millisecondi sui 33 disponibili, e che quindi la GPU sia "ferma" per 5 millisecondi. I sistemi di controllo della potenza, quando si accorgono di questo stop, decidono che visto che la GPU non sta facendo molto, allora bisogna alzare la frequenza. Ma questo è un aumento della frequenza totalmente inutile. Il risultato è che a GPU non lavora di più, ma i suoi processi vengono comunque assegnati più rapidamente e passano più tempo in pausa".

A questo punto Cerny sottolinea che "se invece costruisci un sistema a frequenze variabili, quello che otterrai è un chip che viaggia costantemente al massimo". Se si elimina il "race to idle" sia la CPU che la GPU dovrebbero essere usate sempre al massimo. "Abbiamo osservato che alcuni videogiochi su PlayStation 5 sfruttano la GPU al massimo delle sue capacità per tutto il frame. Lo stesso accade per la CPU, basandoci sull'analisi delle situazioni in cui c'è un altissimo consumo, abbiamo concluso che la CPU passerà la maggior parte del tempo al massimo delle sue frequenze".

Trattandosi di un approccio abbastanza nuovo, c'è da chiedersi se servirà uno sviluppo specifico per ottenere questo tipo di risultati su PS5. Interrogato in merito Cerny ha dichiarato: "Gli sviluppatori non hanno bisogno di ottimizzare in alcun modo; la frequenza si adatterà alle azioni che la CPU e la GPU stanno eseguendo". Il Lead Architect aggiunge poi: "certo qualcuno potrebbe chiederti: cosa succede se uno sviluppatore scrive intenzionalmente un pezzo di codice che spinge al massimo ogni transistor? Si tratta di una situazione astratta, perché i giochi non sono progettati per comportarsi così, per consumare sempre tutta l'energia disponibile. Ma se un pezzo di codice simile venisse scritto, allora posso assicurarti che se su altre console avrebbe mandato i chip in tilt e probabilmente tutto il sistema in arresto termico; PS5 farà di tutto per evitare scenari simili e gestirà il codice con più... grazia".