资讯动态

OpenDLSS-NR总览:DLSS 5的“神经渲染“到底是什么?完整解读这个Vulkan比特级重实现项目

发布时间:2026/10/23 2:28:08 来源:尧图企业网站定制
【免费下载链接】OpenDLSS-NRA Vulkan reimplementation of NVIDIAs DLSS 5 Neural Rendering network, bit-exact against the original.项目地址https://gitcode.com/gh_mirrors/op/OpenDLSS-NR点击查看免费下载OpenDLSS-NR 是一个用 Vulkan 完整重实现 NVIDIA DLSS 5神经渲染Neural Rendering, NR网络的开源项目输出与原版逐字节一致bit-exact。它不是超分辨率工具而是一个 71 块的 Swin/ViT 网络在相同分辨率下重新渲染画面从噪声中生成细节并调整色调与结构。本文带你从零理解这个项目在做什么、怎么做的、代码在哪里。 什么是神经渲染和超分辨率有什么区别很多人听到 DLSS 就想到超分辨率——把低分辨率图像放大到高分辨率。但 DLSS 5 的神经渲染NR完全是另一回事输入和输出分辨率相同它不做任何放大它接收引擎已经渲染好的一帧然后重新渲染这帧通过注入高斯噪声网络会生成原本不存在的细节同时根据风格参数调整色调tone、结构structure和皮肤skin左NR 关闭引擎原始渲染右NR 开启神经渲染后的画面。同一分辨率细节和质感明显不同。简单说超分辨率是放大神经渲染是重画。 网络架构71 个 Transformer 块的 U 型网络OpenDLSS-NR 实现的网络和 NVIDIA DLSS-NR build 310.8.0 完全相同参数值网络类型U-net移窗 Transformer 块 底部全局 ViT块数71 个池化层级6 层激活精度FP8E4M3累加精度FP16权重大小141 MiB数据流如下输入16 个 f32 通道渲染帧的低动态范围代理、3 路高斯噪声、上一帧重投影输出、5 个条件标量处理71 个块从全分辨率逐层下采样到 1/32再逐层上采样回来底部用全局注意力ViT处理最粗粒度输出4 个 f32 通道RGB 残差 1 个时间混合 logit最终显示公式clamp(proxy rgb / 4, 0, 1)再用sigmoid(logit)与历史帧混合。网络完整图见 docs/network.md。 比特级到底意味着什么这是这个项目最硬核的部分。大多数图形项目要求视觉上差不多就行但 OpenDLSS-NR 的要求是75 个块边界每一个字节都必须和 NVIDIA 原版完全一致。为什么这么严格因为神经渲染网络的身份不是一个数学函数而是一系列舍入操作的精确序列每个跨越 kernel 边界的值都是 E4M3 字节或 IEEE half舍入顺序f32 → f16 → E4M3是固定的NaN 发布为 0-0 的符号必须保留矩阵乘法的 K 顺序也是结果的一部分这意味着你不能用误差小于 ε来衡量正确性只能逐字节比对。项目文档 docs/numerics.md 完整描述了这份精确性契约。 项目结构代码都在哪里目录内容src/C20 主机代码Vulkan 上下文、模型加载、kernel 封装、网络图、CPU 参考实现、dlss5vk工具shaders/GLSL 内核参考路线cooperative-matrix FP8 GEMM、融合 32 通道块、QKV窗口注意力、专家 MLP、全局注意力scripts/ptx/Python 生成器输出 PTX快速路线mma.syncE4M3、cp.async 环、无屏障链式调度、split-K GEMMdemo/Filament 演示程序网络嵌入真实 3D 场景带逐物体运动向量和时间历史ports/browser-webgpu/WebGPU 浏览器移植无 tensor core、无 FP8仍逐字节一致docs/设计笔记网络图、精确性契约、权重布局、执行调度、帧管线架构核心在 src/nr_graph.cpp网络图录制和 src/nr_model.cpp模型加载与权重重排。⚡ 性能实测RTX 4070 SUPER 全网络单帧耗时每帧 241 个 dispatch以下是最小值40 帧中取最小分辨率耗时768×7682.8 ms1920×10807.8 ms2560×144012.6 ms3840×216029.3 ms️ 如何构建和运行 OpenDLSS-NR环境要求Windows NVIDIA AdaRTX 40 系列或更新 GPU驱动需支持VK_KHR_cooperative_matrix、VK_NV_cooperative_matrix2、VK_EXT_shader_float8、VK_NV_cuda_kernel_launchVisual Studio 2022、Python 3、Node.js权重需要你自备项目不包含 NVIDIA 的模型文件构建步骤PowerShell# 一次性下载工具链glslang、Vulkan-Headers、volk、CMake、Ninja powershell -File scripts\fetch_tools.ps1 -Npm # 编译 shaders、PTX 和 dlss5vk 工具 powershell -File scripts\build.ps1 # 构建演示程序需额外编译 Filament约 15 分钟 powershell -File scripts\fetch_filament.ps1 powershell -File scripts\build_filament.ps1 powershell -File scripts\build_demo.ps1运行演示build\demo\dlss5-demo.exe --model 你的模型目录完整说明见 demo/README.md。 浏览器版WebGPU 移植ports/browser-webgpu/ 是同一个网络的独立 WebGPU 实现运行在浏览器标签页里。有趣的是浏览器没有tensor core、没有 FP8 类型、没有 inline PTX、没有 device-scoped atomics。但移植后的输出仍然和原版逐字节一致——因为精确性来自规范舍入序列不来自硬件。性能对比RTX 4070 SUPER512×512实现耗时Vulkan PTX本仓库2.7 msWebGPU浏览器72 ms自测命令node tools/check.mjs会运行 self-test 和两个 parity fixture。 总结一句话记住 OpenDLSS-NR要点说明它是什么DLSS 5 神经渲染网络的 Vulkan 比特级重实现核心卖点75 个块边界逐字节匹配原版不只是最终图像网络规模71 块 Swin/ViTFP8 激活141 MiB 权重快速路线PTX mma.syncE4M3无屏障链式调度参考路线GLSL cooperative-matrix完整精确浏览器版WebGPU 移植无 tensor core 仍逐字节一致许可证MIT与 NVIDIA 的关系无关联、无背书、不包含 NVIDIA 任何软件或权重想深入阅读推荐顺序docs/network.md网络图→ docs/numerics.md精确性契约→ docs/execution.md执行调度→ docs/frame.md帧管线。赞分享【免费下载链接】OpenDLSS-NRA Vulkan reimplementation of NVIDIAs DLSS 5 Neural Rendering network, bit-exact against the original.项目地址https://gitcode.com/gh_mirrors/op/OpenDLSS-NR点击查看免费下载相关推荐Changie开发者指南如何扩展和自定义变更日志模板的终极教程Changie开发者指南如何扩展和自定义变更日志模板的终极教程 Changie是一款强大的自动化变更日志工具专为开发者设计能够帮助团队高效管理项目发布流程DLSS5-Feeder 是什么让没有 DLSS 的游戏用上 DLSS 5 神经渲染的终极指南附 12 款游戏实测DLSS5 Feeder 是什么让没有 DLSS 的游戏用上 DLSS 5 神经渲染的终极指南附 12 款游戏实测 DLSS5 Feeder 是一款免费开DLSS5oneclick装完怎么调ReShade面板、F6效果对比与DLSS 5神经渲染设置完整指南DLSS5oneclick装完怎么调ReShade面板、F6效果对比与DLSS 5神经渲染设置完整指南 DLSS5oneclick 是一款把泄漏版 DLSS上一篇如何安全配置Hermes WebUI远程访问外部网络连接最佳实践指南下一篇终极艾尔登法环存档编辑器3分钟掌握跨平台存档管理技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑