{
    "archive_path": "archive/1790849163.391109",
    "base_url": "github.com/maanHimself/OpenDLSS-NR",
    "basename": "OpenDLSS-NR",
    "bookmarked_date": "2026-10-01 10:06",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/github.com/maanHimself/OpenDLSS-NR",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=github.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "github.com/maanHimself/OpenDLSS-NR.html"
    },
    "domain": "github.com",
    "extension": "",
    "hash": "J8FGMTPWK23Y6W5BNCS9",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=github.com"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-01T10:07:11.514609+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1790849163.391109",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T10:07:11.042454+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://github.com/maanHimself/OpenDLSS-NR"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-01T10:07:11.864344+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1790849163.391109",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T10:07:11.523823+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://github.com/maanHimself/OpenDLSS-NR"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-10-01T10:07:26.347433+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1790849163.391109",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T10:07:21.774835+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpap5gsqov",
                    "https://github.com/maanHimself/OpenDLSS-NR"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-10-01T10:07:21.764726+00:00",
                "index_texts": [
                    "OpenDLSS-NR\nA Vulkan reimplementation of NVIDIA's DLSS 5 Neural Rendering network, bit-exact against the original.\nThe same 71-block Swin / ViT network as DLSS-NR build 310.8.0, running FP8 on the tensor cores. The\nintermediates match too, not just the final image: all 75 block boundaries, byte for byte.\nports/browser-webgpu/ is a second, independent implementation: the same bytes in a browser, with no\ntensor cores and no FP8.\nYou supply the weights, as a model directory in the layout described below.\nThe network\nA U-net of shifted-window transformer blocks with a global ViT at the bottom: 71 blocks over six pooling\nlevels, FP8 (E4M3) activations with FP16 accumulation, 141 MiB of weights. It is a generative neural rendering\nnetwork (NVIDIA's term): it re-renders the frame the engine already drew, generating detail from injected noise\nand adjusting tone, structure and skin under a style setting. Input and output are the same resolution; it is not\nan upscaler.\n\nThe WebGPU port at 2048x1152, NR off on the left and on on the right. Scene:\nCowboy Gramps by\nMuhammed Ismayil, CC0.\nIt takes one rendered frame (a low dynamic range proxy of it, three lanes of Gaussian noise, the previous\nframe's output reprojected, and five conditioning scalars) and produces four f32 channels per pixel: an RGB\nresidual and one temporal-blend logit. docs/network.md is the graph in full. NVIDIA\ndescribes the model in its report,\nDLSS 5: Generative Neural Rendering\n(project page).\nBuild and run\npowershell -File scripts\\fetch_tools.ps1 [-Npm]     # once: tools\\ (glslang, Vulkan-Headers, volk, CMake, Ninja)\npowershell -File scripts\\build.ps1                  # shaders, PTX, build\\dlss5vk.exe\npowershell -File scripts\\fetch_filament.ps1         # once, for the demo: third_party\\filament (+ the patch)\npowershell -File scripts\\build_filament.ps1         # once, for the demo: third_party\\filament-install\npowershell -File scripts\\build_demo.ps1             # build\\demo\\dlss5-demo.exe\n\nbuild\\dlss5vk.exe bench   --model <dir> --width 768 --height 768\nbuild\\dlss5vk.exe profile --model <dir> --width 768 --height 768   # per-dispatch timings\nbuild\\dlss5vk.exe parity  --model <dir> --fixture <dir>            # bit-exactness against a fixture\nbuild\\dlss5vk.exe verify  --model <dir> --fixture <dir>            # block-0 kernel-by-kernel bisect\npython scripts\\ptx\\test_fast_divmod.py                             # the PTX divider, over every n < 2^24 (numpy)\n\nThe demo can be double-clicked. It lists every scene under build\\scenes in the Demo scene dropdown and\nstarts on the first one, or loads the glTF given on the command line. The model directory is --model <dir>,\nelse DLSS5VK_MODEL, else models\\nr next to this README. See demo/README.md for the\nrenderer, the keys, the scenes and view.json.\nPerformance\nRTX 4070 SUPER, whole network per frame, minimum over 40 frames. 241 dispatches at every resolution.\n\n\n\nresolution\ntime\n\n\n\n\n768x768\n2.8 ms\n\n\n1920x1080\n7.8 ms\n\n\n2560x1440\n12.6 ms\n\n\n3840x2160\n29.3 ms\n\n\n\nThe GPU alternates between two clock states under sustained load, so medians run a few percent higher. Compare\nminima.\nWhat is here\n\n\n\nPart\nFiles\nNotes\n\n\n\n\nHost\nsrc/ (C++20)\nVulkan context, model loading and weight re-layout, kernel wrappers, the network graph, a CPU reference of the arithmetic, the dlss5vk tool\n\n\nGLSL kernels\nshaders/\nThe reference route: cooperative-matrix FP8 GEMMs, fused 32-channel block, fused QKV + window attention, expert MLP, global attention, elementwise ops. Exact and complete on their own.\n\n\nPTX kernels\nscripts/ptx/\nPython generators emitting PTX for the fast route: mma.sync E4M3 with f16 accumulation, cp.async rings, barrier-free chaining through device counters, split-K GEMMs, streamed global attention. Generated into build/ptx by the build.\n\n\nDemo\ndemo/, third_party/filament.patch\nThe network inside a Filament (Apache-2.0) frame: Filament patched for per-object motion vectors and a Vulkan interop hook, glTF scenes through gltfio, ImGui controls.\n\n\nWebGPU port\nports/browser-webgpu/\nThe same network in a browser, bit-exact against the same captures, with no tensor core, no FP8, no fusion between blocks and no chaining: the exactness is in the specification, not in the hardware. 72 ms at 512x512 against 2.7 ms here.\n\n\n\nNot implemented: DLSS-SR, which is a different network. The temporal path is implemented, but in the demo: the\nnetwork's history input lanes and its per-pixel blend logit drive a reprojected feedback loop\n(docs/frame.md). The dlss5vk tool runs single frames with no history, which is what the\nreference captures were made with.\nRequirements\n\nWindows, an NVIDIA Ada (or newer) GPU and a driver exposing VK_KHR_cooperative_matrix,\nVK_NV_cooperative_matrix2, VK_EXT_shader_float8 and VK_NV_cuda_kernel_launch.\nVisual Studio 2022 or later with the C++ x64 toolset (any edition or the Build Tools; found through vswhere,\nor set VCVARS64 to your vcvars64.bat), git, Python 3 for the PTX generators, and Node.js + npm and\nPillow for the scene converter.\nThe portable toolchain under tools/ (git-ignored): scripts\\fetch_tools.ps1 downloads glslang 16.6.0,\nVulkan-Headers v1.4.363, volk (pinned tags), CMake 3.31 and Ninja 1.13. No Vulkan SDK install is needed.\n-Npm also installs the scene converter's modules into tools\\gltf.\nFor the demo: Filament v1.77.0, cloned and patched by scripts\\fetch_filament.ps1 and built once by\nscripts\\build_filament.ps1 (both git-ignored; about 15 minutes and 6 GB of build tree, placed in\n%LOCALAPPDATA%\\dlss5-vulkan or DLSS5_FILAMENT_BUILD_DIR; DLSS5_BUILD_JOBS caps the parallel\ncompiles, default 8, because MSVC takes up to a GB per job on Filament).\n\nModel directory\nnr::Model reads manifest.json: a stages array (each entry: id, file relative to the directory,\npackedByteLength, sha256) and a tensors array (each entry: name, block, layer, parameter,\nstage, stageOffset, byteLength). Stage files hold the E4M3 weights as packed bytes; the host re-lays\nthem out into the matrix forms the kernels consume (src/nr_model.cpp). Nothing in this repository produces\nsuch a directory.\nThe graph is the 71-block network of 310.8.0 and nothing else: a model with a different block count is refused\nat load.\nFixtures\nparity compares against recorded captures of the original, which are not part of this repository. A fixture is a\ndirectory with a manifest.json:\n\n\n\nkey\n\n\n\n\n\nsourceDimensions, fullDimensions\nthe valid size and the padded field\n\n\nproxy or inputFeatures\nthe input: an RGBA f32 image (with conditioning, seed, autoMask), or the f32 features themselves\n\n\nchecks\nwhat the fixture gates, any of \"boundaries\", \"head\", \"output\"; required and never empty\n\n\nblocks, transitions\n\"boundaries\": E4M3 references (block / id, width, height, channels, file)\n\n\nomittedBoundaries\n\"boundaries\": {name: reason} for each comparable boundary the fixture has no reference for\n\n\nreferenceHead\n\"head\": the f32 RGBA head\n\n\nnativeOutput\n\"output\": the composed image, dtype \"f32\" (RGBA halves, needs proxy) or \"u8\" (an 8-bit capture)\n\n\n\nEverything is validated before the GPU runs, and a fixture that fails any of it is refused: a declared check without\nits reference, a reference that is missing, short or names nothing in the graph, a reference no declared check uses,\nor a comparable boundary (blocks 0-69, the five encoder transitions) with neither a reference nor a reason. Verdicts\nare bit-exact (the pass), equal only up to the sign of zero (a failure), within one code (the 8-bit\ncapture only, reported apart) or a mismatch; see docs/numerics.md. The head and the output are\ncompared on the production schedule, resubmitted --repeat times (default 3), which must also agree with the same\ngraph under barriers; the boundaries come from an instrumented run, whose head must agree with production's. verify\nadditionally needs inputFeatures and a block-0 reference.\nTuning switches\nAll default to the fast, exact route. Every switch keeps the output byte-identical, and parity under each of\nthem is part of the gate. Any switch that sends a kernel back to GLSL also turns counter chaining off, because\nonly the PTX kernels take part in it.\n\nDLSS5VK_UNFUSED=1 runs the GLSL reference route, up to 2560x1440: it materializes every intermediate.\nDLSS5VK_PTX_DIR is the PTX directory, default build/ptx.\nDLSS5VK_CHAIN=0 puts barriers between every launch instead of counter chaining.\nDLSS5VK_PTX_GEMM, GEMMT, GEMMV, BLOCK32, FFN, QKV and ATTN set to 0 take one kernel family\nback to its GLSL spelling.\nDLSS5VK_ATTN_STREAM forces streamed global attention off (0) or on (1).\nDLSS5VK_SPLITK=0, DLSS5VK_VIT_CHAIN=0 and DLSS5VK_NO_PTX_MLP=1 disable split-K, the ViT chain and the\nPTX MLP.\nDLSS5VK_NO_FUSE_PRE, POOL, UPRES and POST set to 1 drop one fusion each.\nDLSS5VK_CHAIN_MASK is a bit mask: 1 expert stages, 2 c32 blocks, 4 split GEMMs. Default 3.\nDLSS5VK_DEFER_MAX is the widest stage whose projection GEMM is fused. Default 128.\nDLSS5VK_VALIDATION=1 runs under the Khronos validation layer (refused if it is not installed: a Vulkan SDK, or\nVK_LAYER_PATH at a build of Vulkan-ValidationLayers); an error it reports fails the run. DLSS5VK_DEBUG=1\nonly prints the driver's own messages (the PTX compiler's among them). DLSS5VK_LIST_EXTENSIONS=1 lists\nextensions.\n\nDocumentation\ndocs/README.md is the index: network.md is the graph,\nnumerics.md the exactness contract, weights.md the layouts,\nexecution.md the scheduling, and frame.md the demo's frame.\nNot affiliated with NVIDIA\nThis project is not affiliated with, endorsed by, or supported by NVIDIA. It contains no NVIDIA software,\nweights, headers, or instructions for obtaining them. No rights under any NVIDIA intellectual property are\ngranted or implied by this repository or its license, and you are responsible for the licenses that apply to\nwhatever model data you use with it.\nLicense\nMIT for everything in this repository (LICENSE). Third-party components are listed in\nNOTICE."
                ],
                "output": "readability",
                "pwd": "/data/archive/1790849163.391109",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T10:07:18.456239+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://github.com/maanHimself/OpenDLSS-NR"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-01T10:07:18.448366+00:00",
                "index_texts": null,
                "output": "GitHub - maanHimself/OpenDLSS-NR: A Vulkan reimplementation of NVIDIA's DLSS 5 Neural Rendering network, bit-exact against the original. \u00b7 GitHub",
                "pwd": "/data/archive/1790849163.391109",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T10:07:18.378807+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--reject=js,mjs,woff,woff2,ttf,otf,eot,mp4,m4v,mov,webm,ogv,mkv,avi,flv",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "--timestamping",
                    "https://github.com/maanHimself/OpenDLSS-NR"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-10-01T10:07:18.369109+00:00",
                "index_texts": null,
                "output": "github.com/maanHimself/OpenDLSS-NR.html",
                "pwd": "/data/archive/1790849163.391109",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T10:07:11.870953+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "GitHub - maanHimself/OpenDLSS-NR: A Vulkan reimplementation of NVIDIA's DLSS 5 Neural Rendering network, bit-exact against the original. \u00b7 GitHub",
        "warc": null,
        "wget": "github.com/maanHimself/OpenDLSS-NR.html"
    },
    "link_dir": "/data/archive/1790849163.391109",
    "newest_archive_date": "2026-10-01T10:07:21.774835+00:00",
    "num_failures": 0,
    "num_outputs": 6,
    "oldest_archive_date": "2026-10-01T10:07:11.042454+00:00",
    "path": "/maanHimself/OpenDLSS-NR",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "8e67ef1a-67e0-48a7-bab2-643a37bd3987",
    "sources": [
        "/data/sources/1790849163-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1790849163.391109",
    "title": "GitHub - maanHimself/OpenDLSS-NR: A Vulkan reimplementation of NVIDIA's DLSS 5 Neural Rendering network, bit-exact against the original. \u00b7 GitHub",
    "updated": "2026-10-01T10:07:11.041979+00:00",
    "updated_date": "2026-10-01 10:07",
    "url": "https://github.com/maanHimself/OpenDLSS-NR"
}