X99 + 双 AMD Radeon AI PRO R9700 跑通跨 Root Port P2P:从内核、RCCL 到 SGLang Qwen3.8 实战
-
这份作业含金量很高。跨 Root Port 直连 P2P 能在 X99 / Broadwell-EP 上跑通,卡点基本就是你说的那几处(Above 4G、44-bit DMA、P2PDMA、RCCL PHB);能拿到
isAllDirectP2p 1 via P2P/IPC就说明不是 SHM 兜底,后面都是调优问题。几个对表口径:
1)单向 10.29 GB/s 合理:Gen3 x16 理论约 15.75 GB/s,P2P/NTB 实跑一般落 9–12 GB/s;双向 aggregate 19.76 接近 2×10.29 的线性,看不出明显半双工瓶颈。
2)RCCL busBW 9.5 GB/s 已经贴着链路,TP=2 的 AllReduce 是带宽限制,不是拓扑没起来。batch=1 场景多为延迟敏感,建议再补一张「通信暴露占比 vs batch」的曲线,确认放大 batch 后扩展比是否还线性。
3)MTP 收益随 ctx 衰减(1K +40% → 128K +10.8%)在预期内:长 ctx 时 decode 由 KV 读带宽主导,draft 头那点算力占比被稀释。建议把 acceptance length 和 draft head 耗时占比一起画,区分是接受率掉了、还是 draft 头变贵了。
4)最该记的运维坑:这套依赖自定义内核(44-bit DMA patch)。内核一升级,P2PDMA 路径可能静默失效、退回 host-staged——不报错,只是变慢。建议把复验固化成三步:内核版本 / rocminfo → grep isAllDirectP2p → rccl-tests busBW 对基线;数值掉一半就说明 P2P 没起来。
补充观察:251.5K native decode 20.76 t/s,这档 KV 体积已经很大,双 32G 能扛住说明 KV 量化/分层确实起作用;再往上加 ctx 前,先量 KV 实际占用和换页,再谈 MTP。
-
更正一下原帖里的一个表述:
我之前写“不同 CPU Root Port”不够准确。我的机器是单路 E5-2697A v4,两张 R9700 都挂在同一颗 CPU / 同一 PCIe Root Complex 下,只是分别接在不同的 PCIe Root Port 上。
所以文中“跨 Root Port P2P”应理解为:
同一 CPU、同一 Root Complex 下,不同 Root Port 之间的 P2P,并不是跨 CPU / 跨 Socket。
原帖已不能编辑,这里补充更正,避免误导。 -
,
T terry 固定了此主题
-
谢谢老特肯定。打通P2P和调试SGLang的过程都是Agent来操作的,包括内核编译、遇到问题寻找解决方法。5.5小时双卡几乎满功率推理测试,没有出现问题。
-
谢谢老特肯定。打通P2P和调试SGLang的过程都是Agent来操作的,包括内核编译、遇到问题寻找解决方法。5.5小时双卡几乎满功率推理测试,没有出现问题。
-
,
T terry 引用了 此主题
-
但是看起来好像你这个运行速度也不是太好啊,Pp才1000左右。看看https://github.com/Eliovp-BV/paiton-vllm-plugin。 单卡运行速度就炸裂,昨天刚配置好的

-
@suboyang
精度差不了一半,估计也就百分之几吧。按你这个算法,原始精度32位量化到Q4就没法用了,事实上Q4也可以保留差不多95%以上的有用信息。而且真要是干啥大活,跑云端不是更靠谱么,本地模型毕竟是本地。 -
但是看起来好像你这个运行速度也不是太好啊,Pp才1000左右。看看https://github.com/Eliovp-BV/paiton-vllm-plugin。 单卡运行速度就炸裂,昨天刚配置好的

但是看起来好像你这个运行速度也不是太好啊,Pp才1000左右。看看https://github.com/Eliovp-BV/paiton-vllm-plugin。 单卡运行速度就炸裂,昨天刚配置好的

Paiton 单卡确实很强,这个后面有时间我也会测。
我这篇主要验证的是 X99 双 R9700 的 P2P 可行性和双卡 scaling,SGLang 只是目前先跑通的 serving stack。现在这些 PP/TG 数据主要看单卡→双卡提升,不是在做 SGLang vs vLLM 横评。
后续会补 vLLM/Paiton,同模型同参数下再比较。 -
对啊,2%不到的差距没啥可担心的,Agent时代验收一下就可以了,也就可能是有时候需要多做个一步两步的。我现在发现搭配的agent某种程度上更重要,dsh明显比Hermes干活的效率要高。
@fcme 弟人家这个帖子是的关键是速度吗?人家是打通P2P,第一这是个人实验项目,刚刚开始,以后还可以优化。解决的是有无问题,是原创,就算纯粹从炫技的角度来看,也很有意义。它不是我发现了某个插件,某个方案很牛逼,这种技能很多人都能掌握,并不特别值得炫耀。
第二,PP在有SGLang的情况下,影响并不那么大,Agent场景只做增量Prefill,并不会一直做如此大的Prefill工作,所以可以接受。还是有应用价值的,不是所有场景都看测试数据的。
第三,这个方案对24G的7900XTX意义很大,它没有mxfp4的红利,可以抄作业,只要用上SGLang,双卡TP的意义在过往的帖子中有过大量测试,很有意义。
第四,VLLM有它的强项,也有弱项,Agent上它就是不如SGLang,不如NInfer,HaloGen,它没有硬核增量缓存计算,更没有跨会话缓存复用,并不是数字好看,体验就好的。
第五,对VLLM的用户而言,在X99上打通P2P难道没意义?你怎么知道人家不会vLLM呢?论坛藏龙卧虎,低调交流。不能总学我,有点知识就吹牛逼,我都被打脸太多次,不太在乎了,不要学我。谦虚使人进步,骄傲使人落后。
-
,
S suboyang 引用了 此主题
-
,
张 张光璞 引用了 此主题
-
,
T terry 引用了 此主题
站长已核:本帖设为精华,作者 +5 积分奖励,希望再接再厉!
