1.卸载
1.1 显卡驱动卸载
sudo apt purge nvidia*
删完之后需要aoturemove一下
sudo apt autoremove
1.2 cuda卸载
我这边安装的cuda版本是11.0,和8.0版本的卸载方式还不一样。
旧的版本(8.0):
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
参考:https://blog.csdn.net/qq_33200967/article/details/80689543
新的版本(11.0):
sudo /usr/local/cuda-11.0/bin/cuda-uninstaller
后面的部分都一样了,删除文件夹就可以。
/usr/local/之下有两个关于cuda的文件夹,一个是/cuda,另一个是/cuda-11.0,两个都需要删掉。
sudo rm -rf /usr/local/cuda
sudo rm -rf /usr/local/cuda-11.0
以上是所有卸载的部分。
2.显卡驱动安装,cuda安装,cudnn安装
2.1 显卡驱动安装
驱动安装的版本可以选择尽可能新的版本,显卡驱动的版本和cuda的版本并没有一一对应的关系,cuda版本有显卡驱动版本的下限要求,见下图:
来源:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
安装:(我这边可见的最新版本是460)
sudo apt install nvidia-driver-460
安装完成后需要reboot一下:
reboot
重启之后测试一下:
nvidia-smi
如果出现下面这样的表说明驱动安装完成。
这里可以看到有一个cuda version,注意,这里的cuda和我们后面用的cuda并不一样,有一篇博客感觉写得很到位,大家可以参考:nvcc -V和nvidia-smi出现的cuda版本不同
2.2 cuda安装
官网下载:cuda官网下载连接
选择合适的版本,用于的深度学习的话需要考虑tensorflow,pytorch等深度学习框架的版本要求。
选择系统:
这里选择.run和.deb都可以,只是在后面的安装过程有所不同,我们选择.run。
下载完成后运行:
sudo sh cuda_11.0.3_450.51.06_linux.run
可能会弹出下面这个界面:
我们安装了更新版本的显卡驱动,这里我们直接continue。
输入accept。
由于我们安装了更新版本的显卡驱动,这里需要把显卡驱动去掉。
安装完成后我们还需要相关的环境配置,这里我参考了这篇博客:CUDA8.0安装成功后的环境配置问题
具体内容分为以下三个部分:
1.在.bashrc中添加环境变量

sudo gedit ~/.bashrc
在文件的末尾加入下面两行语句:
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使配置生效:
source ~/.bashrc
2.设置环境变量和动态链接库
sudo gedit /etc/profile
在末尾加入下面语句:
export PATH=/usr/local/cuda/bin:$PATH
保存退出
3.创建链接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
加入下面语句:
/usr/local/cuda/lib64
然后执行:
sudo ldconfig
测试一下:
nvcc -V
如果得到以下结果说明cuda安装完成。
2.3 cudnn安装
官网下载:cudnn官网下载
这个需要注册。
注意,下载的时候ubuntu版本和cuda版本都要对上。
我们需要下载第1个文件:
下载好之后我们解压:
tar -zxvf cudnn-11.0-linux-x64-v8.0.5.39.tgz
解压后我们得到一个cuda的文件夹,我们要将其与系统中的cuda合并。
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
使其可执行:
sudo chmod +x /usr/local/cuda/lib64/libcudnn*
sudo chmod +x /usr/local/cuda/include/cudnn*
我们还需要建立一个软连接:
cd /usr/local/cuda/lib64/
sudo ln -snf libcudnn.so.8.0.5 libcudnn.so.8
安装到这里就已经结束了,我们还需要测试一下,
cat cuda/include/cudnn_version.h |grep ^#
嗯,其实用这种方法判断cuda和cudnn是否完成安装的效果有限,这种方式无法测试环境变量是否存在问题。
事实上,我们可以通过安装tensorflow来进行测试。
import tensorflow as tf
print(tf.test.is_gpu_available())
出现Ture则全部安装完成。