简要结论:vLLM 在 Strix Halo 平台上无法稳定运行
当 vLLM 与 PyTorch Flash Attention 搭配使用时,会导致 Radeon 8060S(gfx1151)显卡出现死机现象。针对该显卡定制的 TheRock PyTorch 版本与 vLLM 基于 CUDA 开发的代码路径不兼容,而采用即时执行模式虽能暂时解决问题,却会破坏工具调用功能。众多社区反馈均证实该现象在多种内核版本及 ROCm 版本下均会出现。 建议选用以下任一替代方案:vLLM 运行失败的原因
Strix Halo 搭载的集成显卡为 gfx1151(基于 RDNA 3.5 架构)。vLLM 最初专为 NVIDIA CUDA 显卡设计,后来才新增对 AMD 数据中心级显卡(如 MI250、MI300X)的 ROCm 支持。然而该款集成显卡并不在兼容硬件之列。 故障发生流程如下:- PyTorch TheRock 编译版本——AMD 确实提供了适配 gfx1151 的 TheRock 编译版本,但此类版本与 vLLM 的 Flash Attention 实现存在兼容性问题。
- Flash Attention 与 vLLM 结合会导致显卡死机——一旦 vLLM 在 gfx1151 上启用 Flash Attention 功能,显卡便会陷入死机状态,整个系统完全失去响应,此时只能强制断电重启。
- 使用 Eager 模式作为临时解决方案——关闭 Flash Attention 功能虽能避免死机现象,但系统吞吐量会大幅下降,且工具调用功能彻底失效。
- AMD 显卡上工具调用功能无法使用——即便处于 Eager 模式下,vLLM 的工具调用解析器在 AMD ROCm 环境中依然无法正常工作,因此此类显卡无法用于编码类智能体任务。
推荐替代方案:采用支持 Vulkan 接口的 llama.cpp。
llama.cpp 采用 Vulkan 后端编译,是 Strix Halo 平台上最可靠、速度最快的方案。在该硬件上,Vulkan 可实现比 ROCm 快 21% 的令牌生成速度,且在 Linux 和 Windows 系统上均可运行。
使用前提条件
- 需配备 128GB 统一内存的 Strix Halo 系统
- 需安装 Vulkan 驱动程序(Linux 系统下该驱动已集成于 Mesa 套件中,Windows 系统则需安装 Adrenalin 驱动)
cmake、gcc/clang以及git
使用 Vulkan 构建 llama.cpp
启动服务器
-ngl 999 参数可将所有计算层转移至 GPU。请确认服务器已正常响应:
备选方案:Ollama(固定版本至 0.17.7)
若您追求ollama run 的简易性,Ollama 无疑是最佳选择。务必固定使用版本 0.17.7 —— 所有 0.18.x 版本均存在针对 Strix Halo 平台的 GPU 检测异常问题,这会导致 Ollama 只能回退至纯 CPU 推理模式。
安装并固定 Ollama 0.17.7
运行模型
临时解决方案:启用 vLLM 的即时模式(仅作尝试,不推荐)
若因特殊需求必须采用 vLLM 的 API 结构,可尝试启用即时模式。但需注意此模式会导致处理效率下降且工具调用功能可能失效。- 不支持 Flash Attention — 其吞吐量显著低于正常部署环境
- 工具调用功能失效 — 在 AMD 硬件上结构化输出解析器无法正常工作
- 上下文长度受限 — 若未启用分页式注意力机制,内存占用会迅速升高
- 仍可能出现 GPU 卡死现象 — 处理长上下文时仍可能引发此类问题
各后端性能对比总结
通过 Tokios 发布您的模型
当您成功部署了运行环境(如llama.cpp 或 Ollama)后,再运行 Tokios 连接器即可。该连接器会主动连接至 https://api.tokios.com,无需在您的设备上开放任何入站端口,最终为您提供一个经过身份验证的访问端点。
如果您目前正在采购硬件
从纸面数据来看,Strix Halo 配备的 128GB 统一内存颇具吸引力,不过其软件生态尚不稳定。若要实现可靠的本地大语言模型推理,则需另作考量。
选用上述任意一款设备,都能以相同或更低的成本带来比使用 Strix Halo 更流畅的使用体验。
后续步骤
Strix Halo 模型兼容性说明
哪些模型可适配 128GB 内存容量以及对应的量化等级。
Strix Halo 的典型应用场景
Strix Halo 连接器配对操作的完整指南。
DGX Spark 的典型应用场景
推荐使用的具备 128GB 统一内存容量的替代方案。
vLLM 远程访问配置方法
如何在受支持的 NVIDIA 硬件上安全启用 vLLM 访问功能。