快速结论:这个报错通常出现在使用 SYCL 后端、以 server 模式(llama-server)加载模型时,底层在查询设备显存大小时直接 abort;优先排查/升级 llama.cpp 版本,而不是模型本身或参数配置。
适用环境:Linux x86_64;IntelLLVM 2026.0.0;llama.cpp 0.4.0-dev(build 10853,commit 9dcf84e5a);GGML 后端为 SYCL;硬件为 Intel Arc Pro B70 与 Arc A750(Level-Zero / OpenCL 环境,驱动版本见 Issue 正文)。Issue 未确认 CUDA 版本、Python 版本或 PyTorch 环境,故不补写。
最快修复方案:升级到当前 master(Issue 中确认修复于 #28227 / b10944),然后重新用 server 模式加载模型。原提交者确认“It’s fixed after updating”。
注意事项:该修复针对的是 SYCL 设备显存查询路径(源自 #27968),并不能保证所有 SYCL 显存/加载类报错都由此解决;若升级后仍复现,需要按新日志另行定位。Issue 标签为 bug-unconfirmed,但评论中已由报告者确认升级后修复。
问题场景
用户在 Linux 上使用 llama.cpp(SYCL 后端)以 llama-server 模式加载 unsloth/Nemotron-3-Nano-30B-A3B-GGUF:UD-Q4_K_XL 模型。启动 server 时,server 会 spawn 一个子实例(示例端口 46843),带上 --ctx-size 16384、--cache-type-k q4_0、--cache-type-v q4_0、--flash-attn on、--n-gpu-layers 99、--split-mode none 等参数,随后在加载阶段失败。用户特别指出:同一模型用 llama-cli 加载可以正常运行,只有 server 模式会失败,因此怀疑是 bug。
报错原文
Eval bug: Nemotron-3-Nano-30B-A3B fails to load only in server mode.
/home/dogunbound/src/llama.cpp/ggml/src/ggml-sycl/ggml-sycl.cpp:6184: [ggml_backend_sycl_device_get_memory] failed to get device memory size
原因分析
从评论看,这属于 SYCL 后端的显存查询 abort,最早由 #27968 记录,并在 #28227(build b10944)中修复;而报告者使用的 build 10853 早于该修复,因此在该版本上会触发。也就是说,最可能的原因是 llama.cpp 版本过旧,缺少对 SYCL 设备显存查询失败的修复,而不是模型文件损坏或 server 参数写错。Issue 中“只有 server 模式失败、cli 模式正常”的差异,可能与两种模式下加载/初始化显存查询的路径不同有关,但讨论中没有给出更细的根因说明,这一点只能作为可能原因。
环境排查
- 确认 llama.cpp 版本与 build 号:Issue 中为 0.4.0-dev(build 10853,commit 9dcf84e5a);修复在 b10944。#28227 的修复点。
- 确认 GGML 后端是 SYCL(
GGML_SYCL),而非 CUDA 或 Vulkan;本问题出现在 SYCL 路径。 - 确认编译工具链:IntelLLVM 2026.0.0,Linux x86_64。
- 确认 GPU 与运行时可被识别:用
sycl-ls检查 Level-Zero / OpenCL 设备(Issue 中可见 Arc Pro B70 与 Arc A750)。 - 确认驱动 / oneAPI 运行时版本是否与当前 llama.cpp master 匹配;Issue 只给出了版本字符串,未给出升级建议。
- 如需核对模型与参数是否一致,可复用 Issue 中的 server 参数组合(ctx-size、cache-type-k/v、flash-attn、n-gpu-layers、split-mode)。
解决步骤
- 记录当前版本,确认为 build 10853 或更早的 SYCL 构建:运行
./build/bin/llama-server --version与./build/bin/llama-cli --version。 - 将 llama.cpp 源码更新到当前 master(对应修复 b10944 / #28227)。
- 按你原先的 SYCL 编译方式重新构建,保证
llama-server与llama-cli来自同一次构建。 - 用原来的 server 参数重新启动,观察加载阶段是否还出现
ggml_backend_sycl_device_get_memory报错。 - 若仍失败,保留完整日志并附上新的版本号、
sycl-ls输出与--version,作为新问题进一步排查(本 Issue 未涉及这种情况)。
验证方法
升级并重建后再次以 llama-server 加载 unsloth/Nemotron-3-Nano-30B-A3B-GGUF:UD-Q4_K_XL:如果不再出现 [ggml_backend_sycl_device_get_memory] failed to get device memory size,且模型能进入正常加载/就绪状态,即可确认问题已解决。Issue 中报告者的回复是“It’s fixed after updating. thanks.”。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


