CUDA 工具链与版本管理
CUDA 是 NVIDIA 的 GPU 计算平台,包含驱动、runtime、编译器 nvcc、数学库和调试工具。排查 AI 环境问题时,要区分驱动版本、CUDA runtime 版本和框架自带的 CUDA 版本。
查看驱动和 runtime:
nvidia-smi
nvcc --version
python -c "import torch; print(torch.version.cuda)"
编译一个简单程序:
nvcc -O3 -arch=sm_80 hello.cu -o hello
./hello
查看 GPU 架构:
nvidia-smi --query-gpu=name,compute_cap --format=csv
设置可见设备:
export CUDA_VISIBLE_DEVICES=0,1
检查 CUDA 库路径:
echo $LD_LIBRARY_PATH
ldconfig -p | grep cuda
使用 cuda-gdb 调试:
cuda-gdb ./hello
nvidia-smi 的 CUDA Version 是驱动支持的最高版本,不是已安装的 runtime 版本。nvcc 不存在但 PyTorch 能用 GPU,说明只装了 runtime,没有装开发工具包。CUDA driver version is insufficient。PATH 和 LD_LIBRARY_PATH 指向错误的版本。compute_cap 与编译的 sm_XX 不匹配,运行时报 no kernel image is available。