原文链接:AMD 显卡跑本地大模型,到底该选 ROCm 还是 Vulkan?
作者:ddddaishare | 发布时间:2026-08-09
本文为原创编译,转载请注明出处。
同一张卡,换一个后端,速度、稳定性和能不能跑,可能是三种答案。
AMD 显卡现在跑本地大模型,最容易被一句话带偏:
"ROCm 才是正统,Vulkan 只是兼容方案。"
这句话放到 2026 年,已经不够用了。
我把公开的 llama.cpp 实测、AMD 官方文档和社区反馈放在一起看,结论先说:
想省事,先试 Vulkan;想压榨 Linux 下的吞吐,再试 ROCm。
但如果你是 AMD Ryzen AI Max+ 395 这种统一内存机器,或者要跑长上下文、批量请求,答案还要再细一点。
一、先把 ROCm 和 Vulkan 说人话
ROCm 是 AMD 面向 GPU 计算的一整套软件栈,里面有 HIP、编译器、数学库和开发工具。它更像 AMD 版的 CUDA 路线,适合 Linux、服务器和需要专门算子优化的场景。
Vulkan 本来是跨平台图形 API,但 llama.cpp 也提供了 Vulkan 后端。它的优点是覆盖面广:Windows、Linux,甚至一些 ROCm 不好装的机器,都能先跑起来。
真正影响体验的,不是"谁听起来更专业",而是三件事:
- 你的显卡架构和驱动;
- 你跑的是预填充(prefill)还是逐 token 生成(decode);
- 模型和上下文长度有没有踩到后端的坑。
llama.cpp 官方仓库目前同时维护 HIP/ROCm、Vulkan、CPU+GPU 混合等后端。也就是说,Vulkan 不是"残血兼容",ROCm 也不是"装上就赢"。
二、RX 7900 XTX:ROCm 预填充更快,Vulkan 生成更快
在 llama.cpp 的一个公开 issue 里,同一张 RX 7900 XTX 做了 ROCm 和 Vulkan 对比:
- ROCm:pp512 约 3478,tg128 约 133.62;
- Vulkan:pp512 约 2384,tg128 约 171.40。
翻译成人话:ROCm 读入长 prompt 更有优势,Vulkan 真正一个字一个字往外吐时更快,生成速度大约高出两成多。
这就是为什么有人说"ROCm 快",也有人说"Vulkan 快"——他们测的可能根本不是同一段流程。
还有一个现实问题:同一条 issue 里也有人反馈,大上下文下 ROCm 会崩,Vulkan 反而更稳。它不是普遍定律,但足够说明:稳定性必须按你的模型和上下文实测,不能靠信仰选后端。
三、社区实测:Vulkan 经常是 AMD 用户的"先跑起来"
社区里比较有代表性的反馈,大致分成三类。
第一类是 16GB~20GB 显存的消费卡。RX 6800 XT 用户用 Vulkan 跑 gpt-oss-20b Q6_K,报告过约 55 tokens/s;RX 7800 XT 用户跑 Qwen3.6 27B 4-bit,也有人测到约 14.7GB 模型可用。具体数字会被量化、上下文、驱动和功耗明显影响,但共同点是:Vulkan 能让不少 AMD 卡先进入"可用"状态。
第二类是新一代 RDNA4。RX 9070 XT 的 ROCm 讨论里,已经有比较完整的推理测试;但也有人报告,Vulkan 在长上下文时会出现明显降速。新卡不代表后端问题自动消失。
第三类是移动设备和掌机。ROCm 在 Windows 上的支持本来就不完整,很多用户最终选择 Vulkan,只因为它少折腾、少编译、少遇到"找不到某个库"。
所以我建议 AMD 用户按这个顺序试:
先用 Vulkan 跑通,再用 ROCm 对照;不要反过来把一晚上耗在装环境上。
四、AI Max+ 395:显存思路变了,但它不是魔法
AMD Ryzen AI Max+ 395(Strix Halo)最吸引本地模型玩家的地方,不只是 GPU 核心,而是统一内存:最高 128GB 内存由 CPU、GPU 和 NPU 共享。
这套思路和苹果统一内存有点像。模型不用完整复制一份到"独立显存",大模型的门槛从"显卡有没有 48GB"变成"整机有没有足够的高速内存"。
但这里要把两件事分开:
- 能装下,不等于跑得快;
- 批量吞吐,不等于单人聊天速度。
llama.cpp 社区关于 AI Max+ 395 的讨论里,有单路约 20 tokens/s 的反馈,也有 vLLM 批量场景 160~180 tokens/s 的结果。这两个数字不能放在一张排行榜里比较:一个是单请求 decode,一个是批处理吞吐,服务对象都不一样。
还有用户用 Vulkan/RADV 跑 Qwen3-Coder 30B,报告接近 100 tokens/s;也有人在 397B 级别模型上只有十几到二十 tokens/s。统一内存解决的是"装不下",不是"推理没有天花板"。
AMD 自己的 ROCm 文档也提醒过,Ryzen AI Max+ 395 上部分 LLM 工作负载可能低于预期。这个提醒很重要:它不是说机器不能跑,而是说别拿服务器级 ROCm 的想象,替代真实测试。
五、为什么 AMD 跑视频模型没那么舒服
如果你的目标是文字模型、代码模型,AMD 本地推理已经有不少可用路径;但到了视频模型,软件栈的差距会被放大。
以 MiniMax H3 为例,它是近期发布的多模态/视频方向模型。社区目前的本地工作流,更多围绕 CUDA、NVIDIA 优化的量化模型和 ComfyUI 节点展开。有人在 RTX 4090 Laptop 上测试过裁剪版 H3:模型和文本编码器加起来已经占掉二十多 GB 显存,单张 960×540 画面也要接近几分钟。
这不等于"AMD 不能跑 H3"。更准确的说法是:AMD 目前不是这类视频模型的第一选择,能不能跑、跑多快,取决于有没有对应的 ROCm/Vulkan 算子、量化和工作流适配。
如果你主要做视频生成,优先考虑 CUDA 生态;如果你主要做本地聊天、代码和 Agent,AMD 才更值得认真比较后端。
六、到底怎么选:一张表给你
| 你的情况 | 建议 | 原因 |
|---|---|---|
| Windows 消费级 AMD 卡,第一次本地部署 | 先 Vulkan | 安装成本低,兼容面更广 |
| Linux + RX 7900/9070,追求吞吐 | ROCm 和 Vulkan 都测 | prefill、decode 可能各有胜负 |
| 长上下文、经常跑 32K 以上 | 重点测稳定性 | 后端在大上下文下可能出现崩溃或降速 |
| AI Max+ 395 / 128GB 统一内存 | 先看模型能否装下,再测速度 | 大内存是优势,但不是服务器级速度 |
| 主要跑代码模型、聊天模型 | AMD 值得买 | llama.cpp、Ollama 等路径已经比较成熟 |
| 主要跑视频生成、复杂视觉工作流 | 优先 CUDA | 现成节点、量化和算子适配更齐 |
最后给一个最实用的动作:同一个模型、同一个量化、同一个上下文,分别跑 5 分钟 Vulkan 和 ROCm。记录 prompt processing、生成速度、显存/内存占用和是否崩溃。别只盯着一个 tokens/s。
AMD 现在的问题,不是"跑不了大模型";而是你经常需要自己做最后一公里的适配。
ROCm 更像一条有潜力但需要维护的高速路,Vulkan 更像一条先把你送到目的地的国道。选哪条,不看口号,看你今天要跑什么模型。
本文综合 llama.cpp 官方仓库、RX 7900 XTX ROCm/Vulkan 对比实测、AMD ROCm 官方限制说明、AMD Ryzen AI Max+ 395 官方规格及社区实测数据整理,仅代表 2026 年 8 月时点信息。