Rust+Vulkan 推理后端跨厂商适配:按 CPU 指令集而非 GPU 厂商选内核
PhysicsDisastrous462 · reddit · 2026-10-08
作者为其纯 Rust + Vulkan 的 Transformer 后端修复了一个「藏在正确性背后」的可移植性 bug:此前为 Intel Gen9 调优时把内核 reduction 形状烤进了所谓可移植路径,结果在 AMD RDNA 3 掌机上六个测试挂掉。
根因:参照对象其实是运行 oracle 那台机器上的 PyTorch CPU 库,而 ATen 按主机指令集在运行时分派向量化内核——AVX2 主机用 8-wide、AVX-512 主机用 16-wide,reduction 形状随之改变。1 ulp 的偏差经梯度路径逐层放大后,model.embedtokens 伴随梯度从 7.45e-9 涨到 3.22e-6,六个 PEFT fixture 越过 2e-7 门槛。
修复:这两个 reduction 改为按 host CPU 能力选择——进程内探测一次并缓存,分派对应的 8/16 lane 模块;HIERARCHOSATENVECTORWIDTH=8|16 可固定形状用于验证。修复后 Intel Skylake 笔记本与 AMD ROG Ally 均达成 32/32 LoRA、切换与 saved 三阶段全绿,2e-7 门槛未放宽。
验证:Intel 侧改动后全部 32 个家族的报告与改前逐字段 bit 级一致,Rust 测试套件 693 通过 0 失败;AMD 侧端到端重验证通过,并对 3951 个指纹输入零改动零缺失。作者也如实列出局限:仅限确定性 FP32 小模型正确性,AVX-512 路径只在 AMD 机器上验证过。
所属事件:Rust+Vulkan 推理后端修复跨厂商可移植性 bug(2 条相关)→
「Infra」频道最新
- WSJ:博通为 OpenAI 自研芯片筹逾 500 亿美元融资,内部项目代号 Nexus — rohanpaul_ai · 2026-10-08
- Scaling laws 到极限了吗?Reddit 求解当前 AI 扩展现状 — StupidDialUp · 2026-10-08
- TRIAGE 方法修复 NVFP4 量化 RL 训练不稳,吞吐达 BF16 的 2.3 倍 — InfiX-ai · 2026-10-08
- WSL 容器功能正式 GA:一条命令在 Windows 上跑 Linux 容器 — pavandavuluri · 2026-10-08
- ai& 自称日本最大推理服务商,披露数据中心与后训练布局 — DavidBennett__ · 2026-10-08
- 微软发布 Surface Laptop Ultra:首搭 RTX Spark,2599 美元起 — Ars Technica AI · 2026-10-08