Ubuntu CUDA Toolkit安装失败
问题
Ubuntu20.04已经安装显卡驱动nvidia-driver-535和cuda11.7,现在需要继续安装cuda11.8。正常情况下只需要去NVIDA的CUDA下载官网下载11.8的cuda即可。
但是尝试使用deb安装失败:
使用runfile也是失败的:
sudo sh cuda_11.8.0_520.61.05_linux.run
Existing package manager installation of the driver found.
It is strongly │ │ recommended that you remove this before continuing. ││ Abort ││ Continue │
如果继续运行则会报错弹出。
解决方案
这其实是由于run文件是520的nvidia显卡驱动而Ubuntu系统自带的是535的显卡驱动,二者显卡驱动冲突导致的,但是这并不一定影响cuda的安装。一般高版本的显卡驱动兼容低版本的cuda驱动,因此只需要在运行run文件的时候忽略安装显卡驱动即可:
sudo sh cuda_11.8.0_520.61.05_linux.run --silent --toolkit --override
还有一种解决方案就是安装的时候,取消勾选nivdia-driver(显卡驱动),参考GPT给出的解决方案:
一般按照要求执行runfile,没有任何输出,大概率就是成功了,也可以通过命令行验证:
/usr/local/cuda-11.8/bin/nvcc --version
输出:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
如果设置了CUDA_HOME可以打印:
printenv CUDA_HOME
如果没有这个环境变量,可以检查/usr/local/cuda是否正确链接到了cuda11.8:
ls -al /usr/local/cuda
输出:
lrwxrwxrwx 1 root root 21 10月 12 22:04 cuda -> /usr/local/cuda-11.8/
最后在~/.bashrc
中加入以下加载项:
# >>> cuda initialize <<<
export PATH=/usr/local/cuda/bin/:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:${LD_LIBRARY_PATH}
CUDA_HOME=/usr/local/cuda/
# >>> cuda initialize <<<
该配置需要重启后才能生效。
然后就可以使用pip安装torch对应的版本了,例如本文中提到的11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118