nvidia-smi报“No devices were found”表明GPU硬件未被系统识别或驱动未正确加载,需优先排查物理连接、供电、BIOS设置(如Above 4G Decoding)、lspci识别结果、内核模块加载状态及compute capability兼容性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

GPU 识别失败:nvidia-smi 报“No devices were found”
这说明系统根本没把 GPU 当成可用计算设备,后续所有模型加载、CUDA 初始化都会直接失败。别急着改 PyTorch 代码或重装框架,先确认硬件和驱动层是否通路。
常见现象包括:nvidia-smi 命令报错、lspci | grep -i nvidia 看不到设备、PyTorch 的 torch.cuda.is_available() 返回 False。
- 检查物理连接:重新插拔 GPU,确认 PCIe 插槽无松动,8pin/6pin 供电线全部接牢
- 验证电源功率:RTX 4090 需 ≥1000W,RTX 3090 需 ≥750W;低于阈值时 GPU 可能被主板主动禁用
- 运行
lspci -k | grep -A 3 -i nvidia,看内核是否加载了nvidia驱动模块,而非nouveau
驱动装了但 CUDA 不认:compute capability 不匹配
Fable 5.1 的推理后端(如 vLLM、TGI)默认要求 GPU 支持 compute capability ≥8.0(Ampere 架构起),老卡如 GTX 1080(6.1)或 Tesla K80(3.7)会被直接跳过,不报错也不加载,只安静地 fallback 到 CPU。
这不是 bug,是框架的硬性过滤逻辑。你看到日志里出现 Skipping device xxx: unsupported compute capability 就是这个原因。
- 查你的卡型号对应 capability:访问
https://developer.nvidia.com/cuda-gpus,输入型号确认数字 - 若 capability
- 可临时用
CUDA_VISIBLE_DEVICES=""强制走 CPU 推理(仅调试用,性能极差)
驱动正常、卡也新,但 PyTorch 仍看不到 GPU
大概率是环境变量或 CUDA 版本链断裂。Fable 5.1 推荐搭配 CUDA 12.4+,而系统自带的 nvidia-cuda-toolkit(Ubuntu)或 cuda-toolkit(conda)可能版本错位。
将 Claude Agent SDK 与 You.com HTTP MCP 服务器集成,支持 Python 和 TypeScript。当开发者提及 Claude Agent SDK、Anthropic Agent SDK 或将 Claude 与 MCP 工具集成时使用。
执行 nvcc --version 和 python -c "import torch; print(torch.version.cuda)",两者输出必须一致,否则 PyTorch 找不到匹配的 runtime。
- 卸载冲突的 CUDA:用
sudo apt remove --purge "*cuda*" "*nvidia-cuda-toolkit*"(Ubuntu) - 从 NVIDIA 官网下载 runfile 安装包,勾选“Driver”和“CUDA Toolkit”,**不勾选“NVIDIA Accelerated Graphics Driver”**(避免覆盖已有驱动)
- 安装后执行
export PATH=/usr/local/cuda-12.4/bin:$PATH并验证which nvcc
GPU 被识别但 Fable 5.1 启动时报 “CUDA out of memory” 或卡在初始化
这不是显存不够,而是模型加载器(如 transformers + accelerate)没正确绑定设备。Fable 5.1 默认启用 device_map="auto",但它依赖 accelerate 的 get_current_device() 接口返回有效句柄——如果该接口因权限或容器限制返回 cpu,整个流程就静默失败。
最稳的绕过方式是显式指定:
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"anthropic/fable-5.1",
device_map="cuda:0", # 强制指定
torch_dtype="auto"
)
注意:device_map="cuda" 在多卡时可能出错,务必写死 cuda:0 或 cuda:1;同时确认 CUDA_VISIBLE_DEVICES=0 已设置,避免容器内设备编号错乱。
真正容易被忽略的是:Docker 启动时没加 --gpus all 或 --runtime=nvidia(旧版),或者宿主机的 nvidia-container-toolkit 没注册进 containerd。这些配置一旦漏掉,容器里连 nvidia-smi 都看不到 GPU,更别说模型了。

















