You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

llama-cpp-python无法调用NVIDIA GPU CUDA:问题排查求助

Llama-cpp-python无法启用GPU推理的排查方案

以下是针对你的场景(Ubuntu20.04 + GTX1060 6GB,同一conda环境下oobabooga能用GPU,llama-cpp-python仅CPU运行)的具体排查和解决步骤:

1. 检查llama-cpp-python的CUDA编译状态

oobabooga内置的llama.cpp绑定是预先编译好CUDA支持的,而通过pip默认安装的llama-cpp-python通常是CPU-only版本。需要重新编译安装带CUDA支持的版本:
激活你的conda环境后执行:

CMAKE_ARGS="-DLLAMA_CUDA=on" pip install llama-cpp-python --force-reinstall --upgrade

确保系统已安装适配GTX1060的CUDA Toolkit(推荐11.8版本,兼容Ubuntu20.04和GTX10系列显卡)。

2. 替换为GGUF格式的模型文件

你当前使用的ggml-model-q4_0.bin是旧版GGML格式,llama-cpp-python对该格式的GPU层卸载支持有限,建议更换为GGUF格式的模型。下载对应Llama2-7B-Chat的Q4_0 GGUF模型后,修改代码中的model_path路径。

3. 修复Jupyter Notebook的CUDA环境变量

Jupyter可能未正确继承系统的CUDA环境变量,导致llama-cpp-python无法检测到GPU。在Notebook代码开头添加以下环境变量配置:

import os
# 替换为你的CUDA实际安装路径,通常是/usr/local/cuda-xx.x
os.environ["CUDA_HOME"] = "/usr/local/cuda-11.8"
os.environ["PATH"] += os.pathsep + os.path.join(os.environ["CUDA_HOME"], "bin")
os.environ["LD_LIBRARY_PATH"] += os.pathsep + os.path.join(os.environ["CUDA_HOME"], "lib64")

添加后重启Notebook内核,再运行推理代码。

4. 验证GPU检测状态

运行代码时查看verbose=True输出的日志,如果没有出现类似ggml_cuda_init: found CUDA device 0: NVIDIA GeForce GTX 1060 6GB的信息,说明CUDA未被正确检测,需回到前两步排查编译和环境变量问题。另外确认n_gpu_layers=32参数在日志中被正确识别(7B模型总层数为32,该设置是合理的全卸载配置)。

内容的提问来源于stack exchange,提问作者imbr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 09:07:13