hn.today

OpenDLSS: A Vulkan Reimplementation of Nvidia's DLSS 5 Neural Rendering Network

github.com115 points63 comments
Screenshot of OpenDLSS: A Vulkan Reimplementation of Nvidia's DLSS 5 Neural Rendering Network

OpenDLSS is a bit-exact Vulkan reimplementation of NVIDIA's DLSS 5 generative neural rendering network (the 71-block Swin/ViT U‑net used in DLSS-NR build 310.8.0). It reproduces every intermediate boundary (75 block boundaries) byte-for-byte while running FP8 (E4M3) activations with FP16 accumulation on tensor cores, producing four f32 output channels per pixel (an RGB residual plus a temporal-blend logit). The codebase includes a C++20 host, GLSL reference kernels, Python-generated PTX fast kernels, a Filament demo with temporal reprojection, and an independent WebGPU port that yields the same bytes without tensor cores. The model weights are not included; users must supply a model directory in the specified manifest/tensor layout. The implementation enforces a 71-block graph and refuses mismatched models.

Build and run scripts automate tool fetching, PTX generation and demo compilation; the tool dlss5vk supports bench, profile, parity and verify modes for parity testing against captured fixtures. Performance on an RTX 4070 SUPER (whole network, minima over 40 frames, 241 dispatches) is ~2.8 ms at 768×768, 7.8 ms at 1920×1080, 12.6 ms at 2560×1440 and 29.3 ms at 3840×2160. Extensive validation and tuning switches let kernels fall back to GLSL, toggle PTX features, disable fusions or split-K, and control counter-chaining, while preserving byte-identical outputs under each configuration. System requirements include Windows, an NVIDIA Ada-or-newer GPU with VK_KHR/VK_NV cooperative matrix and VK_EXT_shader_float8 support, Visual Studio, Python and Node.

Read on github.com63 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in AI

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.