故障排查 / 框架环境
设了 CUDA_VISIBLE_DEVICES 却没生效 / 指定卡不工作
本站未复现 改写 影响:llama.cpp / Ollama / PyTorch 取决于驱动版本 · Windows / Linux
报错原文
no CUDA devices
这段字符串可以直接粘到 站内搜索 或外部搜索引擎里找。
现象
机器有多张卡,指定了设备号却报 no devices,或跑到了错的卡。
原因
CUDA_VISIBLE_DEVICES 从 0 开始重编号'可见卡';设成空串或越界索引会让框架看不到任何卡;多卡/魔改卡驱动不匹配也会只认一张。
按这个顺序处理
- 确认变量不是空串/越界:export CUDA_VISIBLE_DEVICES=0(或 0,1);
- 先用 nvidia-smi 看真实卡是否被识别,驱动/显存异常先查驱动;
- 多卡用框架的设备选择参数,避免只靠环境变量;
- 魔改卡/矿卡查驱动与显存一致性,异常驱动会报 unrecognized error
怎么确认解决了
nvidia-smi 显示指定卡在线,框架日志出现 CUDA device 而非 no devices。
来源与可信度
条目性质依据公开事实与社区普遍报告,用本站自己的话重写(未搬运任何他人文章段落)
是否已在本站机器复现否——请把这条当线索而不是结论
- https://github.com/ggml-org/llama.cpp/issues/8827 — issue:多卡系统下 CUDA_VISIBLE_DEVICES 的可见性陷阱,对应'可见卡重编号'说明
- https://gigagpu.com/fix-ollama-gpu-not-detected/ — 排查:CUDA_VISIBLE_DEVICES 设成空串/越界时 Ollama 看不到任何卡,对应条目前两条
- https://docs.ollama.com/faq — Ollama 官方 FAQ:通过环境变量配置服务与设备,对应'环境变量配置'口径
相关条目
no CUDA devices / unrecognized error code / hipErrorNotFound起不来 · 二进制直接不认显卡,日志里一句 no devices 或者满屏 unrecognized error code;CPU 后端能跑但速度是个位数。魔改卡(改大显存/数据卡)驱动更新后识别异常框架环境 · 改过显存的卡原本正常,官方驱动升级后变成基础显示适配器、掉驱动、或者显存识别回原容量;也可能间歇性崩溃并伴随显存报错。