92

NVIDIA DLSS 3 spiegato bene: tutto quello che c'è da sapere su funzioni e compatibilità

Annunciata durante la presentazione della serie 4000 delle GeForce RTX, la versione 3 del DLSS porta il software di NVIDIA su un nuovo livello. Ora vi spieghiamo bene come funziona!

SPECIALE di Stefano Vinci   —   24/09/2022

La nuova serie GeForce RTX 4000 è ormai una realtà: annunciata dal CEO di Nvidia, Jensen Huang, durante il GTC 2022, arriverà in tre versioni differenti nel corso di questo autunno.

RTX 4090, la nuova ammiraglia di NVIDIA, con i suoi 24 GB di memoria video, sarà disponibile dal 12 ottobre, mentre la RTX 4080 arriverà a novembre, ma in due versioni distinte: una da 16 e una da 12 GB, con una differenza di prezzo tra le due di circa 300 euro.

Ovviamente le performance delle nuove schede video hanno avuto un importante incremento rispetto alla serie precedente, ma durante la presentazione, Huang ha posto molta enfasi sulle innovazioni nel campo dell'intelligenza artificiale. É subito chiaro, quindi, come l'azienda stia puntando molto sullo sviluppo di tecnologie che possano far lavorare le schede in maniera più intelligente, piuttosto che solo sull'aumento di pura potenza hardware.

Tra le novità infatti, spicca il DLSS 3, nuova iterazione della tecnologia deep learning di NVIDIA. Uno strumento già particolarmente utile e per certi versi stupefacente, che è riuscito ad alleggerire il carico di lavoro per tutta la serie RTX, e adesso, con la serie 4000, si aggiorna per utilizzare al meglio le risorse a disposizione ed incrementare così le prestazioni grafiche. Il DLSS 3 sarà composto da tre principali elementi: Super Resolution, NVIDIA Reflex e Frame Generation.

Durante un incontro a porte chiuse con la stampa, il Vice Presidente della sezione di ricerca sul deep learning della società, è entrato nel dettaglio di questa tecnologia, raccontandoci in maniera approfondita le principali funzionalità del nuovo DLSS 3.

A cura di Stefano Vinci

Che cos'è il DLSS?

La nuova famiglia NVIDIA GeForce RTX
La nuova famiglia NVIDIA GeForce RTX

"Quando abbiamo iniziato a lavorare con il ray tracing della serie RTX, sapevamo che ci saremmo trovati davanti ad uno sforzo computazionale davvero intenso. Sapevamo anche che affrontare il problema utilizzando la forza bruta non sarebbe stata la soluzione, ma invece abbiamo notato subito l'arrivo dei progressi nel campo dell'intelligenza artificiale. Per noi è stata l'opportunità di ridefinire il processo di render grafico." Bryan Catanzaro - VP, Applied Deep Learning Research

Il risultato è stato il DLSS (Deep Learning Super Sampling), una tecnologia che si basa sull'uso intensivo dei Tensor Core delle GPU della serie RTX: tramite machine learning e intelligenza artificiale, il DLSS può ricreare immagini in alta risoluzione a partire da una risoluzione inferiore. Questa funzione ha preso il nome di Super Resolution, e ha permesso di ridurre il carico di lavoro nel render dei singoli frame, lasciando il compito di generare parte dell'immagine all'intelligenza artificiale. In questo modo, la GPU può lavorare in maniera più agile, calcolando una quantità minore di pixel a schermo. Il che si traduce, ovviamente, in un incremento di prestazioni: frame rate più elevati e maggiore responsività, anche ad alte risoluzioni e con effetti di ray tracing attivi.

Inizialmente l'IA è stata "addestrata" a ricostruire i frame di videogiochi specifici, come Battlefield V e Metro Exodus. Un primo esperimento ben riuscito, che però richiedeva un training dedicato dell'intelligenza artificiale per ogni singolo titolo supportato.

Il funzionamento del DLSS 2
Il funzionamento del DLSS 2

Questo ha portato gli sviluppatori ad introdurre il Neural Graphics Framework (NGX), un protocollo che addestra la rete neurale tramite decine di migliaia di immagini ad alta risoluzione. Grazie all'utilizzo di questo nuovo strumento, la rete ha letteralmente imparato a ricostruire i frame di gioco, calcolati e renderizzati in bassa risoluzione, restituendo l'immagine ad una risoluzione più alta.

Una sorta di upscaling gestito dall'IA di NVIDIA, che però non si limita a lavorare sull'immagine sorgente. Il DLSS prende infatti in considerazione anche i vettori di movimento generati dal motore di gioco: questi non sono altro che semplici informazioni calcolate in tempo reale dagli engine, che indicano la direzioni in cui gli oggetti nella scena si muovono da un frame al successivo. Con tali dati, la rete è in grado di riconoscere gli elementi in movimento e di stimare l'aspetto del frame successivo.

Infine, il frame renderizzato tradizionalmente, in bassa risoluzione, viene confrontato con l'ultimo frame ad alta risoluzione generato, per determinare precisamente come agire sulla ricostruzione della nuova immagine da mostrare a schermo.
Insomma, un passo avanti non da poco, che è stato introdotto come aggiornamento della tecnologia iniziale, prendendo il nome di DLSS 2.0.

Frame Generation

Il funzionamento DLSS 3
Il funzionamento DLSS 3

Quello a cui adesso il team sta lavorando per la terza generazione della sua architettura RTX, ADA Lovelace, è un altro aggiornamento di questa tecnologia, che diventerà il vero e proprio DLSS 3.

Oltre all'esperienza accumulata dall'IA nella ricostruzione dell'immagine con il Super Resolution, che arriva adesso a generare gran parte dei pixel a schermo, questa nuova versione introduce un processo di generazione dell'intero frame, cosa che permetterà di incrementare le prestazioni in maniera ancora più netta.

Il frame "ibrido", renderizzato a bassa risoluzione e ricostruito dal Super Resolution, viene alternato a fotogrammi interamente generati dall'IA. Un processo chiamato appunto Frame Generation, che permette così di avere un impatto positivo anche sulle prestazioni dei processori, in particolare in quei giochi che richiedono un grande lavoro da parte della CPU, come ad esempio Microsoft Flight Simulator, che deve gestire la simulazione di una quantità elevatissima di elementi.

Perché Frame Generation è esclusivo della serie 4000?

Grazie alla combinazione dei vettori di movimento e dell'Optical Flow, il frame ricostruito non presenta artefatti grafici
Grazie alla combinazione dei vettori di movimento e dell'Optical Flow, il frame ricostruito non presenta artefatti grafici

Per sfruttare questa nuova funzionalità le nuove schede della serie GeForce RTX 4000 sono equipaggiate con Tensor Core di quarta generazione, capaci di gestire contemporaneamente diversi processi neurali per ogni singolo frame, e l'Optical Flow Accelerator, hardware dedicato specificatamente alla nuova architettura ADA Lovelace, specializzato proprio in uno dei processi chiave del Frame Generation.

"La sfida per ottenere una corretta generazione dei frame è stata decisamente impegnativa, ed è il motivo per cui nessuno fino ad oggi non ha ancora provato ad utilizzare questo sistema", spiega Catanzaro. "Bisogna fare in modo che gli oggetti si muovano in maniera coerente, senza artefatti o distorsioni. Senza considerare che è necessario fare i conti con le interfacce di gioco e i cambiamenti della scena, e tutto questo deve essere calcolato con un latenza davvero infinitesimale per poter tenere alto il frame rate".

La nuova architettura ADA Lovelace è stata infatti sviluppata per utilizzare il nuovo processo di Optical Flow.
Si tratta di un processo di ricerca, che mira a riconoscere i cambiamenti dell'immagine tra un frame e il successivo, così da poter individuare e anticipare il movimento degli elementi in gioco in modo che l'intelligenza artificiale possa intervenire per modificare la prossima immagine da visualizzare. La differenza rispetto al sistema dei vettori di movimento introdotto con il DLSS 2 sta nel suo modo di interfacciarsi con gli effetti di ray tracing.

Le ombre non vengono calcolate correttamente senza l'intervento dell'Optical Flow
Le ombre non vengono calcolate correttamente senza l'intervento dell'Optical Flow

Generando i frame a partire soltanto dalle informazioni fornite dai vettori di movimento, infatti, alcuni elementi in gioco che vengono direttamente influenzati, o addirittura generati, dal tracciamento della luce (due esempi su tutti: le ombre e i riflessi), finiscono per produrre fastidiosi artefatti grafici. Questo avviene perché i vettori di movimento, che trasmettono informazioni puramente geometriche, non sono in grado (da soli e senza il supporto di un'immagine renderizzata tradizionalmente, anche in bassa risoluzione) di fornire all'IA i dettagli sul movimento della luce gestita tramite il ray tracing e la sua interazione con gli elementi a schermo.

Per capirci, l'ombra di un'auto in movimento, proiettata sulla strada sotto di essa, non si muove insieme alla strada quando l'auto accelera. Questo porta ad avere i frame generati interamente dall'IA che mostrano l'ombra leggermente spostata rispetto a dove dovrebbe naturalmente trovarsi, che intervallandosi ai frame "ibridi" generati tramite il Super Resolution, causano un effetto sfarfallio intermittente.

Il funzionamento alternativo di Super Resolution e Frame Generation
Il funzionamento alternativo di Super Resolution e Frame Generation
La combinazione di hardware e software porta allo spaventoso incremento prestazionale delle GeForce RTX serie 4000
La combinazione di hardware e software porta allo spaventoso incremento prestazionale delle GeForce RTX serie 4000

Utilizzando però i classici vettori di movimento, in combinazione con il sistema di ricerca dei pixel fornito dall'Optical Flow, è possibile identificare queste situazioni e ricreare in maniera credibile anche gli effetti di ray tracing più complessi.
L'Optical Flow Accelerator è la componente hardware sviluppata appositamente per ADA Lovelace e la serie RTX 4000, che permette quindi di utilizzare a dovere uno strumento chiave nel processo di Frame Generation.

Ed è proprio per questo motivo che il processo in questione rimane una funzionalità esclusiva delle GeForce RTX 4000: la nuova feature, come abbiamo detto, si basa su una serie di tecnologie e sull'hardware presenti solo all'interno delle nuove schede di NVIDIA: il processo di Optical Flow, gestito principalmente dalla sua componente hardware dedicata sulle 4000, l'Optical Flow Accelerator, è un elemento imprescindibile quando si parla di generazione di frame gestita completamente dall'IA. L'utilizzo della Frame Generation senza il supporto dei dati recuperati grazie all'architettura ADA Lovelace, risulterebbe impossibile a causa proprio degli effetti di ray tracing. Questi ultimi rimangono ancora la componente più esosa in termini di risorse per renderizzare l'immagine, tanto da essere l'elemento principale per il quale il DLSS è stato inizialmente concepito.

NVIDIA Reflex

La pipeline di rendering con e senza NVIDIA Reflex
La pipeline di rendering con e senza NVIDIA Reflex

Dopo il rodato Super Resolution e il nuovo processo di Frame Generation, la tripletta è completata da NVIDIA Reflex, che coordina il flusso di informazioni scambiate tra CPU e GPU permettendo di ridurre notevolmente la latenza degli input.

Questo è possibile grazie ad un'ottimizzazione della pipeline di rendering: solitamente, l'input parte dalle nostre periferiche, mouse, tastiera o controller, e viene processato dalla CPU. A questo punto, il processore inserisce l'input in una coda di render, dalla quale la scheda video può pescare istruzioni per renderizzare l'immagine a schermo. Il sistema tradizionale è costruito in questo modo per permettere alla GPU di avere sempre una coda di istruzioni da cui attingere una volta che l'elaborazione precedente è giunta al termine, potendo lavorare quindi in maniera costante e senza rallentamenti. Ma questa coda di istruzioni, detta Render Queue, comporta inevitabilmente una certa latenza tra l'inserimento dell'input e la sua effettiva renderizzazione a schermo.

NVIDIA Reflex non fa altro che mettere in diretta comunicazione CPU e GPU, in modo che le istruzioni possano essere inviate direttamente dal processore alla scheda video. Essendoci un coordinamento tra le due componenti, le istruzioni possono essere trasmesse con il giusto tempismo, in modo da rifornire la GPU in maniera costante ogni qualvolta termina il lavoro precedente. Così facendo la scheda video può "saltare la coda" (letteralmente) e risparmiare preziosi millisecondi tra la pressione di un tasto e l'azione visualizzata a schermo.

I giochi che supporteranno DLSS 3 al lancio
I giochi che supporteranno DLSS 3 al lancio

Questa feature, adesso, diventa fondamentale per il corretto funzionamento del DLSS 3 e gli sviluppatori che vorranno utilizzare l'aggiornamento della tecnologia all'interno dei loro titoli, dovranno assicurare la compatibilità del motore di gioco con Reflex.

Ad ottobre inizieremo a vedere i primi giochi con il pieno supporto al DLSS 3, che inizialmente saranno più di 35. Questo rende il DLSS 3 uno degli aggiornamenti tecnologici più rapidamente adottati dall'industria.

Quali schede supportano il DLSS 3?

La compatibilità di DLSS 3 con le varie schede video NVIDIA GeForce
La compatibilità di DLSS 3 con le varie schede video NVIDIA GeForce

L'unione di queste tre tecnologie dà vita al nuovo DLSS 3, che pur non essendo un'esclusiva della serie 4000, non sarà supportato allo stesso modo da tutte le generazioni di schede grafiche. La compatibilità è infatti assicurata su tutta la serie RTX, ma in alcuni casi una o più feature potrebbero non essere disponibili.

NVIDIA Reflex potrà essere utilizzato anche sulle schede precedenti alla rivoluzione RTX, comprendendo tutte le schede video dalla serie GeForce 900 in poi.

Diverso il discorso per quanto riguarda il Super Resultion, che per funzionare ha bisogno necessariamente di una GeForce RTX, serie 20, 30 o 40.

L'unica effettiva funzionalità esclusiva che sarà disponibile solo sulle nuove GeForce RTX 4000, è il processo di Frame Generation. Questo perché la nuova feature, come abbiamo detto, si basa su una serie di tecnologie e sull'hardware presenti solo all'interno delle nuove schede di NVIDIA: il processo di Optical Flow, gestito principalmente dalla sua componente hardware dedicata sulle 4000, l'Optical Flow Accelerator.