$npx skillfedfor your agent
REPO

maanHimself/OpenDLSS-NR

DLSS 5's Neural Rendering pass is not an upscaler. That distinction matters, and this project makes it concrete: the network takes a frame the engine already rendered at full resolution and re-renders it, injecting noise-derived detail, adjusting tone and structure, and blending with a reprojected history frame. Input and output share the same resolution. The network is a U-net of shifted-window transformer blocks with a global vision transformer at the bottom — 71 blocks across six pooling levels, 141 MiB of weights in FP8 E4M3 precision with FP16 accumulation.

What this repository does is reimplement that network in Vulkan, bit-exactly. Not approximately — the README specifies that all 75 block boundaries match the original byte for byte, not just the final image. The parity test infrastructure enforces this: a fixture that fails any declared check, or that has a comparable boundary with neither a reference nor a documented reason for its absence, is refused before the GPU even runs. The exactness contract distinguishes bit-exact passes from sign-of-zero failures and single-code mismatches, which is the kind of precision that only matters if you actually intend to ship something against a reference.

The performance numbers are measured on an RTX 4070 SUPER: 2.8 ms at 768×768, 7.8 ms at 1080p, 12.6 ms at 1440p, 29.3 ms at 4K, all minimums over 40 frames with 241 dispatches per resolution. The fast route uses PTX kernels generated from Python — mma.sync E4M3 with f16 accumulation, cp.async rings, barrier-free chaining through device counters, split-K GEMMs. The GLSL reference route is also complete and exact; it just materializes every intermediate and tops out at 1440p.

The WebGPU port in ports/browser-webgpu/ is a second independent implementation — same bytes, no tensor cores, no FP8, no fusion. It runs at 72 ms for 512×512 against 2.7 ms in the native path. That gap is the cost of the hardware the browser cannot touch.

The legal position is stated plainly: no NVIDIA software, weights, or headers are included, and nothing in the repository produces the model directory the tool requires. You supply the weights. The disclaimer is not boilerplate — the project is reimplementing a proprietary network architecture from NVIDIA's own published technical report, and the README is careful to say that whatever IP questions attach to the weights are yours to resolve.

For anyone building rendering pipelines or studying how a production neural rendering network actually schedules work across a GPU, the documentation alone — the full graph in docs/network.md, the numerics contract, the weight layout descriptions, the execution scheduling notes — is more detailed than most published papers on the subject. The tuning switches, each of which keeps output byte-identical while isolating one kernel family, suggest this was built to be understood as much as run.

A byte-exact Vulkan reimplementation of DLSS 5's neural rendering pass — not an upscaler, a full-resolution re-renderer — with PTX, GLSL, and a WebGPU port, but no weights included.

Install it

Sources & links