llama.cpp没用上显卡
failed to initialize CUDA:没识别到显卡
报错原文
ggml_cuda_init: failed to initialize CUDA: <reason>
尖括号 <…> 里的内容每次运行都会不同。
是什么意思
CUDA 版本的 llama.cpp 启动了,但连接不上任何 NVIDIA 显卡,于是退回 CPU 运行。冒号后面是 CUDA 自己给出的原因。
为什么会出现
- 在 Docker 里:容器启动时没给 GPU 权限(
--gpus all),或没装 NVIDIA Container Toolkit。 - 已安装的驱动比编译这个程序所用的 CUDA 版本旧。
- 在 WSL2 里:在 WSL 内部装了 Linux 版 NVIDIA 驱动,覆盖了 Windows 的直通驱动。
怎么解决
- 在 llama.cpp 运行的环境里(宿主机、容器或 WSL)执行
nvidia-smi。如果它也失败,先修好驱动。 - 更新 NVIDIA 驱动;预编译的 CUDA 版本会标明它需要的 CUDA 版本。
- 在 WSL2 里,Linux 内只装 CUDA toolkit(
cuda-toolkit-12-x),不要装cuda或cuda-drivers包。
相关指南
相关报错
核对来源
报错原文于 2026-10-26 从源码中读取核对。