在一块 PCIe 交换机后面塞进四张 32GB 显存的卡
来源:doug.sh — 2026-11-12
📋 概述
作者在一块只有一条 x16 插槽的板子上用 Broadcom PEX88096 交换机接了四张 Radeon AI PRO R9700 与两张 RTX 3090,让每张卡拿八条通道,并能不经 CPU 直接互相拷贝。AMD 的 ROCm 只在每张卡的 32GB 显存全部映射时才启用点对点,所以 Linux 上必须给每张卡开 32GB 的可调整基址寄存器;他为此写了一个内核模块,并记录了 Linux 7.0 桥窗口尺寸化缺陷导致的地址空间不足失败。
🔑 核心要点
- 点对点的前提是整卡显存可见:基址寄存器不够大,ROCm 直接不启用这项能力。
- 每个 32GB 映射要占掉 64GB 的 BIOS 地址空间,加上 3090 之后主板自检就卡在白色显卡灯。
- 作者没有假装这是受支持的配置:模块可能随内核版本失效,说明文件里写明了要先读再用。
- 邮件列表上已有补丁修尺寸化问题,但这块板子仍需模块做 resize 与 rescan,属于补丁之后的补丁。
💡 金句
The switch gives each card eight lanes and lets the cards copy to each other without going through the CPU.
👍 0
👎 0
← 返回 Hacker News 首页