尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
141 MiB权重怎么读?OpenDLSS-NR模型目录与E4M3 MMA碎片打包布局详解
【免费下载链接】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是 NVIDIA DLSS 5 神经渲染Neural Rendering网络的 Vulkan 重实现与原实现逐位一致bit-exact同样的 71 块 Swin / ViT 网络、FP8E4M3激活、141 MiB 的权重。它最大的门槛不在编译而在模型目录——权重不是常见的 ONNX / safetensors而是一堆按 tensor core 的 MMA 碎片顺序打包的 E4M3 字节。本文带你读懂 manifest.json 的结构、153 条 tensor 记录的组织方式以及 packedWeightIndex 背后的 E4M3 MMA 碎片打包布局。同一帧画面左关右开神经渲染WebGPU 移植版2048x1152。模型目录长什么样manifest.json 三要素仓库不提供权重你需要自备一个模型目录默认在 README 旁的models\nr也可用--model dir指定。目录的核心是manifest.json由 src/nr_model.cpp 的Model构造函数解析字段内容说明totals.blockCount71不是 71 块的模型会在加载时直接拒载stages[]11 个打包文件每条含id、file相对model/子目录、packedByteLength、sha256加载时逐文件校验大小与 SHA-256除非--no-verifytensors[]153 条记录每条blockN.layerM.parameter是某个 stage 文件里(stageOffset, byteLength)的一个切片一句话概括stage 是磁盘上的物理文件tensor 是逻辑切片。加载时 stage 被整块读入内存L78-L89153 条 tensor 记录则各自指向对应 stage 的字节区间零拷贝完成映射。 整个模型的加载耗时约几秒其中大头是 SHA-256 校验——这恰好说明 141 MiB 权重的完整性是加载流程的一部分而非可选步骤。一条记录里有什么FusedLayout的权重拼接顺序一条 tensor 记录不是一个矩阵而是一整层的所有权重首尾拼接FFN 权重、逐通道 f16 缩放向量、注意力先验、逐头 f32 缩放……顺序由 FusedLayout 定义。以 C 通道的窗口块为例摘自 docs/weights.md偏移字节数内容expand 0E·C·128专家或C·128FFN W1contractWeightsE·128·32C·C专家或128·CFFN W2 W3—16零填充ffnCosSkip2CFFN 残差缩放f16 逐通道qkv3C²融合 Q|K|V 投影head-majorrelativeheads·8192每头 64x64 的 f16 注意力先验scalealignUp(4·heads, 16)每头学到的 f32 注意力温度projectionC²注意力输出投影attnCosSkip2C注意力残差缩放官方文档给出了一条漂亮的自检逻辑FusedLayout里每个偏移都是前面形状之和这个和恰好精确复现每条 tensor 的byteLength——布局对不对算一遍就知道。不同块还有各自的变体block 0 在 W2 后插入16→32输入适配器preFusedLayout每个解码器阶段首块插入上采样矩阵upsampleFusedLayoutblock 70 追加32→4的 f16 头postFusedLayout512 通道块拆成 4 条 layer 记录ViT 块则把每头缩放放在 qkv 权重之前。核心E4M3 权重为什么按碎片打包这是全文的重点。docs/weights.md 开篇就点破权重不是按矩阵存的而是按 MMA 碎片存的。网络里每个 FP8 GEMM 都是一串16x16x32的 E4M3×E4M3→f16 协同矩阵乘法对应硬件指令mma.sync.aligned.m16n8k32.row.col.f16.e4m3.e4m3.f16。于是最顺路的存储顺序就是 B 操作数在寄存器里的碎片顺序最内层 512 字节 一对m16n8k32B 碎片16 列 × 32 个 k分布在 32 条 lane 上每条 lane 16 字节两个 8 列半区 × 两个 16-k 半区 × 4 字节往上是nGroup512 B、nHalf2048 B、nTile4096 B、kTileN·32B逐级卷叠。字节级索引公式在 packedWeightIndex 中只有几行位运算lane (n % 8)·4 (k % 16)/4 byteInLane ((n % 16)/8)·8 ((k % 32)/16)·4 (k % 4)直观理解lane 编号决定哪条 GPU 线程lane 内 16 字节决定这个线程拿到的 4 个 k × 4 个 n——和 tensor core 的取数路径完全对齐零重排即可喂给 MMA。加载时主机端会遍历这个碎片布局反向摊平成普通矩阵再上传 GPUfp8MatrixBytes默认[K/batchK][batchK/32][N][32]k32-tile-major保证一个 B tile 是连续的 16 字节对齐块配合协同矩阵加载tileMajor false时改为[K/batchK][N][batchK]N-major供单次乘法的 B 操作数使用。一个容易忽略的置换chained activation index每个 FP8 GEMM 的 A 操作数激活在每个 32 通道组内还有一个位旋转置换索引位 1..3 轮转0 1 2 3 4 5 6 7 8 …→0 1 8 9 2 3 10 11 4 5 12 …。运行时对激活做置换太贵于是 OpenDLSS-NR 把逆置换直接烘进了权重的 K 行加载时对每个权重矩阵的 k 行做 inversePackedInputIndex 重排内核就能按自然通道序加载 A。这在数学上成立的前提是置换始终不越出每个 16 个乘积的小组——正是 f16 累加的分组边界。构造函数里还有一条断言式检查置换必须可逆否则直接抛错。另外两种布局f16 矩阵与注意力先验数据布局说明16→32输入适配器、32→4头m16n8k16f16 碎片按 (k,n) 行主序 16x16 平铺两个矩阵是该平铺的两种退化形态1 个 k tile × 2 个 n tile2 个 k tile × 1 个 n tile所以 packedF16WeightIndex 是一个函数而非两套布局64x64 注意力先验16x16 碎片 tile两个 token 轴都按 4x4 物理序Model::relativeBias 把它改写为[head][64 自然序 query][64 物理序 key]——query 是S QKᵀ的 A 行自然序key 是 B 列物理序也是 softmax 的归约顺序缓存与生命周期重排只做一次所有重排在加载期完成后就固化为 device-local 缓冲按(tensor, offset, shape, batchK, layout)在Model::matrices_中缓存。重录整张图时重新请求的是同样的 key拿到的是同样的缓冲Model析构时统一销毁没有悬垂资源。这意味着141 MiB 的碎片解包与 SHA 校验只发生在加载那几秒帧循环里拿到的都是现成的连续矩阵。下一步想继续深入读什么文档回答什么问题docs/weights.md本文的完整版目录、全部布局与重排docs/network.md71 块图结构、输入 16 通道、padded field 规则docs/numerics.mdbit-exact到底指什么E4M3 发布点、F13 定点累加、softmax 归约树docs/execution.md241 次 dispatch 的调度、无 barrier 计数链docs/frame.mddemo 里从渲染帧到像素、再到时间回环跑通后可以用dlss5vk.exe bench --model dir --width 768 --height 768看性能用parity --model dir --fixture dir对原始实现的录制捕获做逐位比对——权重读对了一切才谈得上bit-exact。赞分享【免费下载链接】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是一款强大的自动化变更日志工具专为开发者设计能够帮助团队高效管理项目发布流程TotalSegmentator 打包与发布流程详解pre-commit 检查、PyPI 发版与模型权重分发TotalSegmentator 打包与发布流程详解pre commit 检查、PyPI 发版与模型权重分发 本文基于仓库内的 package_managem医疗健康人工智能计算机视觉深度学习MCP 服务AI 技能DeepSeek-V3-W4A8-Pruing权重文件怎么读safetensors三分片结构与index索引完全解析DeepSeek V3 W4A8 Pruing权重文件怎么读safetensors三分片结构与index索引完全解析 初次接触 DeepSeek V3 W4A上一篇深入理解Lunr.js索引构建机制下一篇Node-fs-extra 项目常见问题解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Pipelock配置完全指南:YAML字段、热重载与安全降级防护机制全解析

Pipelock配置完全指南:YAML字段、热重载与安全降级防护机制全解析

【免费下载链接】pipelock Open-source AI agent firewall for MCP security and agent egress. Scans mediated HTTP, MCP, A2A, and WebSocket traffic for exfiltration, SSRF, and prompt injection, and emits mediator-signed action receipts: verifiable audit evidenc…

📅 2026/10/23 1:46:28
Folia 歌词动画音乐播放器完整安装教程:Windows、macOS、Linux 全流程

Folia 歌词动画音乐播放器完整安装教程:Windows、macOS、Linux 全流程

Folia 歌词动画音乐播放器完整安装教程:Windows、macOS、Linux 全流程 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major Folia 是一款…

📅 2026/10/23 1:46:28
安全中心修复完全指南:如何三步让停摆的 Windows Defender 重新工作

安全中心修复完全指南:如何三步让停摆的 Windows Defender 重新工作

安全中心修复完全指南:如何三步让停摆的 Windows Defender 重新工作 【免费下载链接】no-defender A slightly more fun way to disable windows defender firewall. (through the WSC api) 项目地址: https://gitcode.com/GitHub_Trending/no/no-defender …

📅 2026/10/23 1:41:28
MORE NEWS

更多资讯

📰

别再手动比价了:SteamTradingSiteTracker 替你 24 小时盯住四平台 Steam 饰品行情

别再手动比价了:SteamTradingSiteTracker 替你 24 小时盯住四平台 Steam 饰品行情 【免费下载链接】SteamTradingSiteTracker Steam 挂刀行情站 —— 24小时更新的 BUFF & IGXE & C5 & UUYP & ECO 挂刀比例数据 | Track cheap Steam Community Mark…

📰

照片到可旋转三维场景:3D Gaussian Splatting 工具 Spirula Studio 完整上手教程

照片到可旋转三维场景:3D Gaussian Splatting 工具 Spirula Studio 完整上手教程 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/sp…

📰

iptv-checker 完整指南:M3U 播放列表批量播放源检测与 Docker 部署

iptv-checker 完整指南:M3U 播放列表批量播放源检测与 Docker 部署 【免费下载链接】iptv-checker IPTV checker tool for Docker && CMD, check your playlist is available 项目地址: https://gitcode.com/GitHub_Trending/ip/iptv-checker 对于手…

📰

安卓底部导航UI框架:单Activity+多Fragment架构与避坑指南

简介:这份资源面向Android应用开发者,尤其是希望系统掌握UI框架搭建的中级学习者,围绕底部导航栏定制、Fragment灵活切换与项目整体架构设计三个核心问题展开,帮助解决界面风格不统一、页面切换生硬、代码耦合度高等常见痛点。压缩…

📰

全志T527调试记录

1 编译 环境搭建 # 代码准备 cd /home/huihui/trunk/01_T527 mkdir t527_tina5.0_linux tar -xvf atk-t527_tina5.0_linux_release_v1.0_20251031.tgz -C t527_tina5.0_linuxcd t527_tina5.0_linux .repo/repo/repo sync -l -j8mv dl buildroot/buildroot-202205/# 编译 ./buil…

📰

影刀RPA进阶教程:从影刀到Python——什么时候值得写代码

影刀RPA进阶教程:从影刀到Python——什么时候值得写代码 会用影刀RPA拖指令之后,你迟早会遇到那个问题:要不要学Python。我的答案不是"要"或"不要",而是"看活儿"。我是非技术出身,拖了两…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬