OpenDLSS porta NVIDIA DLSS 5 su Vulkan con precisione bit-esatta
AI News

OpenDLSS porta NVIDIA DLSS 5 su Vulkan con precisione bit-esatta

6 min
01/10/2026
OpenDLSSVulkanDLSS 5Neural Rendering

OpenDLSS porta NVIDIA DLSS 5 su Vulkan con precisione bit-esatta

In una mossa significativa per la comunità grafica, uno sviluppatore noto come maanHimself ha rilasciato OpenDLSS-NR, una reimplementazione Vulkan della rete Neural Rendering DLSS 5 di NVIDIA. Il progetto, ora disponibile su GitHub, afferma di essere bit-esatto rispetto all'originale, il che significa che produce un output identico all'implementazione proprietaria di NVIDIA—fino all'ultimo byte. Questo è un risultato importante che potrebbe democratizzare l'accesso al neural rendering basato su AI tra i vari produttori di GPU.

Il repository, che ha già raccolto 367 stelle e 38 fork, fornisce un'implementazione completa della rete neurale DLSS 5—un'architettura Swin/ViT a 71 blocchi con sei livelli di pooling. Funziona su Vulkan, rendendolo compatibile con qualsiasi GPU che supporti le operazioni tensoriali richieste, incluse AMD Radeon e Intel Arc, non solo la linea RTX di NVIDIA.

Cos'è il Neural Rendering DLSS 5?

DLSS 5 rappresenta un passaggio dall'upscaling tradizionale al neural rendering generativo. A differenza delle versioni precedenti di DLSS che si concentravano principalmente sullo scaling della risoluzione, DLSS 5 ri-renderizza completamente il frame. Prende un proxy a bassa gamma dinamica del frame renderizzato, inietta rumore gaussiano e genera nuovi dettagli—regolando tono, struttura e persino texture della pelle in base a un'impostazione di stile. La rete produce un residuo RGB e un logit di blend temporale alla stessa risoluzione dell'input; non è un upscaler ma una rete di ri-renderizzazione completa.

Questo approccio generativo è ciò che rende la reimplementazione così impegnativa. La rete opera in FP8 (E4M3) con accumulo FP16, richiedendo 141 MiB di pesi. Elabora 241 dispatch per frame, rendendo le prestazioni un fattore critico per l'uso in tempo reale.

Traguardi tecnici e design

OpenDLSS-NR raggiunge la sua bit-esattezza attraverso una combinazione di tecniche. Il progetto include sia kernel di riferimento GLSL che kernel PTX ottimizzati per GPU NVIDIA. Il percorso PTX sfrutta le istruzioni mma.sync per la moltiplicazione di matrici FP8, gli anelli cp.async per un trasferimento di memoria efficiente e il concatenamento senza barriere tramite contatori di dispositivo per minimizzare l'overhead di sincronizzazione.

Per hardware non NVIDIA, il percorso GLSL fornisce un fallback che materializza ogni intermedio, garantendo la correttezza a scapito delle prestazioni. Il progetto include anche una porta WebGPU che esegue la stessa rete in un browser senza tensor core o supporto FP8, dimostrando la portabilità dell'implementazione. La versione WebGPU funziona a 72 ms a 512x512, rispetto a 2,7 ms su Vulkan nativo con hardware RTX.

Lo sviluppatore sottolinea che l'esattezza risiede nella specifica, non nell'hardware. Documentando il grafico della rete, i layout dei pesi e i contratti numerici, OpenDLSS-NR consente ad altre implementazioni di ottenere gli stessi risultati.

Benchmark delle prestazioni

Su una RTX 4070 SUPER, OpenDLSS-NR offre prestazioni impressionanti. L'intera rete funziona in:

  • 2,8 ms a 768x768
  • 7,8 ms a 1920x1080
  • 12,6 ms a 2560x1440
  • 29,3 ms a 3840x2160

Queste cifre rappresentano il minimo su 40 frame, con mediane leggermente più alte a causa dei cambiamenti di stato della frequenza della GPU. Le prestazioni sono competitive con l'implementazione proprietaria di NVIDIA, rendendo OpenDLSS-NR un sostituto plug-in valido per gli sviluppatori.

continua a leggere sotto...

Come funziona: L'architettura della rete

La rete DLSS 5 è una U-net di blocchi transformer a finestra spostata con un vision transformer globale (ViT) al collo di bottiglia. Prende più input: un frame renderizzato (come proxy a bassa gamma dinamica), tre canali di rumore gaussiano, l'output del frame precedente riproiettato e cinque scalari di condizionamento. L'output è quattro canali f32 per pixel—un residuo RGB e un logit di blend temporale.

Il progetto include documentazione completa nella sua cartella docs/, che copre il grafico della rete, il contratto di esattezza numerica, i layout dei pesi, la pianificazione dell'esecuzione e il ciclo del frame della demo. Il rapporto di ricerca di NVIDIA su DLSS 5 è citato come fonte autorevole per l'architettura del modello.

Considerazioni legali e di licenza

OpenDLSS-NR è rilasciato sotto la licenza MIT, rendendolo liberamente disponibile per uso commerciale e personale. Il progetto non contiene software, pesi, header o istruzioni di NVIDIA per ottenerli. Gli utenti devono fornire i propri pesi del modello, che lo sviluppatore nota non sono inclusi nel repository.

Il progetto dichiara esplicitamente di non essere affiliato o approvato da NVIDIA. Non concede alcun diritto sotto alcuna proprietà intellettuale di NVIDIA, e gli utenti sono responsabili di assicurarsi di avere il diritto di utilizzare i dati del modello che caricano. Questo approccio evita potenziali problemi legali fornendo comunque un'implementazione funzionale.

Perché questo è importante

Il rilascio di OpenDLSS-NR potrebbe avere implicazioni significative per l'industria grafica. Fornendo un'implementazione open-source e compatibile con Vulkan di DLSS 5, consente:

  • Supporto multipiattaforma: I giochi che utilizzano OpenDLSS-NR potrebbero funzionare su GPU AMD, Intel e NVIDIA, oltre che su Linux e potenzialmente console che supportano Vulkan.
  • Modding e ricerca: Sviluppatori e ricercatori possono studiare e modificare la rete senza essere bloccati nello stack proprietario di NVIDIA.
  • Concorrenza: AMD e Intel potrebbero potenzialmente adottare OpenDLSS-NR come base per le proprie soluzioni di neural rendering, riducendo il vantaggio competitivo di NVIDIA.

Il progetto è ancora nelle fasi iniziali—attualmente supporta Windows con GPU NVIDIA Ada o più recenti per il percorso più veloce, ma la porta WebGPU mostra potenziale per una portata più ampia. Con il contributo della comunità, potremmo vedere supporto per più piattaforme e hardware.

Per iniziare

Per gli sviluppatori interessati a provare OpenDLSS-NR, il processo di build è ben documentato. Il progetto utilizza una toolchain portatile che scarica glslang, Vulkan-Headers, volk, CMake e Ninja—nessuna installazione di Vulkan SDK richiesta. È inclusa un'applicazione demo che utilizza Filament, insieme a strumenti per benchmarking, profiling e verifica della bit-esattezza rispetto a fixture registrate.

Lo sviluppatore ha anche fornito un comando parity che confronta l'output con le catture del DLSS 5 originale, assicurando che l'implementazione rimanga fedele. Questo approccio rigoroso alla validazione è un segno distintivo della qualità del progetto.

Conclusione

OpenDLSS-NR è un tour de force tecnico che dimostra il potere del reverse engineering e della collaborazione open-source. Reimplementando la rete Neural Rendering DLSS 5 di NVIDIA in Vulkan con precisione bit-esatta, apre nuove possibilità per la grafica AI multipiattaforma. Sebbene possa non sostituire immediatamente la soluzione proprietaria di NVIDIA, fornisce una solida base per innovazione e concorrenza.

Con l'evoluzione del progetto, possiamo aspettarci un supporto hardware più ampio, miglioramenti delle prestazioni e potenzialmente l'integrazione nei motori di gioco. Per ora, si erge come una testimonianza di ciò che è possibile quando gli sviluppatori accettano la sfida di sbloccare la tecnologia proprietaria a beneficio di tutti.