CUDA 冲突一般发生在 三层 之间版本不一致:
| 层级 | 说明 |
|---|---|
| 1️⃣ NVIDIA 驱动 | 系统级,决定最高可用 CUDA 版本 |
| 2️⃣ CUDA Toolkit | 编译/运行环境(如 /usr/local/cuda) |
| 3️⃣ 深度学习框架 | PyTorch / TensorFlow 对 CUDA 有强依赖 |
⚠️ 常见误区:
驱动版本 ≠ CUDA 版本 ≠ 框架 CUDA 版本
nvidia-smi右上角会显示:
CUDA Version: 12.2nvcc --version或
/usr/local/cuda/bin/nvcc --versionimport torch
print(torch.version.cuda)
print(torch.cuda.is_available())import tensorflow as tf
tf.config.list_physical_devices("GPU")90% 的 CUDA 冲突都能用 Conda 解决
Conda 会:
/usr/local/cudaconda create -n torch12 python=3.10
conda activate torch12conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia✅ 不需要系统安装 CUDA Toolkit
系统可能同时有:
/usr/local/cuda-11.8
/usr/local/cuda-12.1sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda检查:
ls -l /usr/local/cudaLD_LIBRARY_PATH 混乱(非常常见)❌ 错误示例:
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:/usr/local/cuda-12.1/lib64✅ 正确做法:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64CUDA driver version is insufficient| 方案 | 说明 |
|---|---|
| 升级驱动 | 最直接 |
| 降低 CUDA / 框架版本 | 不升级驱动 |
| 驱动版本 | 支持 CUDA |
|---|---|
| ≥ 525 | CUDA 12.x |
| ≥ 470 | CUDA 11.x |
如果你用 Docker / 服务器:
docker run --gpus all -it pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime✅ 完全隔离
✅ 优先顺序
你可以直接贴出:
nvidia-smi
nvcc --version
python - << 'EOF'
import torch
print(torch.version.cuda)
EOF我可以 精确告诉你该装哪个版本、怎么改,一步到位。