快速结论:该问题发生在 llama.cpp 较新版本(约 10333)使用 Vulkan 多 GPU 运行时,即使指定了 --device 和 --split-mode none,模型仍会被拆分到第二张显卡。优先尝试将 llama.cpp 更新到最新 git 版本,该问题在最新版本中已解决。
适用环境:Linux;llama-server;Vulkan 后端;Intel A770 与 B60 双显卡(Xe2 驱动);llama.cpp 版本 10333(commit 08659901c)。
最快修复方案:更新到最新 git 版本(git pull 后重新编译)。Issue 评论确认「Issue seems solved in latest git pull」。暂无其他已验证的一步修复方案。
注意事项:最新 git 版本可能尚未包含在正式 release 中,需要自行编译;如果更新后仍复现,应提供完整 --verbose 日志以便进一步排查。
问题场景
用户运行 llama-server 加载 gpt-oss-20b-Q4_K_M.gguf 模型,启动参数中已经设置 --device VULKAN1、--split-mode none,并尝试调整张量拆分比例(1,2 / 2,1 / 4,1 / 1,4),但模型仍然被拆分到两张显卡上。第二张显卡会占用约 50% 的模型体积,而 KV cache 没有明显异常。
报错原文
Misc. bug: model splitting happens regardless of --device isolation and --split-mode none
原因分析
可能原因:在该版本的 Vulkan 多设备实现中,模型张量拆分逻辑没有正确响应 --split-mode none 和 --device 隔离约束,推测是拆分逻辑与显存预分配或默认多层调度之间存在冲突。Issue 未给出具体根因,且当前已确认在最新 git 版本中修复,因此更可能是该版本的回归(bug)而非用户配置错误。
环境排查
- llama.cpp 版本:10333(08659901c),built with GNU 15.3.0 for Linux x86_64
- 操作系统:Linux
- 后端:Vulkan(MESA 警告:Xe KMD 平台为实验性支持)
- 显卡:Intel A770 + B60,均为 Xe2 驱动
- CPU/内存:Ryzen 5600X,16GB RAM
- 未确认项:Python、CUDA、PyTorch 等在本 Issue 中没有涉及,无需排查
解决步骤
- 将 llama.cpp 仓库更新到最新 git 版本:
git pull。 - 重新编译 llama.cpp(建议先清理旧构建产物:
rm -rf build后重新 cmake/make)。 - 使用原来的启动参数再次启动
llama-server,重点确认--device VULKAN1和--split-mode none是否被正确遵守。 - 如果仍出现拆分,请收集完整日志(含
-lv 3输出)并重新提交 Issue。
验证方法
启动后观察 Vulkan 设备显存占用:如果第二张显卡不再出现约 50% 模型大小的占用,说明修复生效。也可在日志中检查模型各层实际分配到的设备编号,确认所有层都落在 --device 指定的 Vulkan 设备上。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Question]: error when attaching file in chat ----AttributeError("'Request' object has no attribute 'file'")](https://www.chat-gpts.plus/wp-content/uploads/2026/08/11805-40332ec3-768x403.jpg)
![[Question]: No keyword or question was found in dataSet afer files loaded by customized ingestion pipeline](https://www.chat-gpts.plus/wp-content/uploads/2026/08/11474-a36958b1-768x403.jpg)
