À propos du projet

OpenDLSS-NR est une réimplémentation Vulkan du réseau DLSS 5 Neural Rendering de NVIDIA qui produit des résultats bit-exacts par rapport à l'original. Il implémente la même architecture Swin/ViT à 71 blocs (présente dans le build 310.8.0) en utilisant des activations FP8 (E4M3) avec accumulation FP16 sur les cœurs tensoriels du GPU. Contrairement aux upscaleurs, il s'agit d'un réseau de rendu neural génératif : il prend une image à la même résolution que la sortie et régénère les détails à partir de bruit injecté tout en ajustant le ton, la structure et le style. Le projet inclut également un port WebGPU indépendant (`ports/browser-webgpu/`) qui exécute le même réseau dans un navigateur sans cœurs tensoriels ni FP8, atteignant des résultats intermédiaires bit-exacts à travers les 75 limites de blocs. Le code hôte est écrit en C++20, avec des noyaux GLSL pour la voie de référence (GEMMs coopératives FP8) et des noyaux PTX générés par Python pour la voie rapide optimisée (utilisant `mma.sync` E4M3, des anneaux `cp.async`, un enchaînement sans barrière et des GEMMs split-K). Une application de démonstration construite sur une version modifiée du moteur de rendu Filament de Google présente le réseau avec plusieurs scènes glTF. Performances sur une RTX 4070 SUPER : 2,8 ms en 768×768, 7,8 ms en 1920×1080, 12,6 ms en 2560×1440 et 29,3 ms en 3840×2160. Le port WebGPU s'exécute à 72 ms pour 512×512. Les exigences incluent Windows, un GPU NVIDIA Ada (ou plus récent) avec des extensions Vulkan spécifiques, Visual Studio 2022+, Python 3, et Node.js + npm. Le dépôt ne contient pas les poids ou logiciels NVIDIA — les utilisateurs doivent fournir leur propre répertoire de modèles. Le projet est sous licence MIT et n'est pas affilié ni approuvé par NVIDIA.