环境:ubuntu 20.04

安装驱动

卸载

完全卸载NVIDIA驱动

sudo apt-get --purge remove nvidia*
sudo apt-get --purge remove "*nvidia*"
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt autoremove

禁用nouveau

编辑文件blacklist.conf

sudo vi /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容

blacklist nouveau
options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统(一定要重启)

reboot

验证nouveau是否已禁用

lsmod | grep nouveau

没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。

安装

在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:http://www.nvidia.cn/page/home.html

给驱动run文件赋予执行权限

sudo chmod  a+x NVIDIA-Linux-x86_64-396.18.run

安装依赖

sudo apt install gcc make -y

安装

sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files 

说明:

  • -no-x-check:安装驱动时关闭X服务
  • -no-nouveau-check:安装驱动时禁用nouveau
  • -no-opengl-files:只安装驱动文件,不安装OpenGL文件,只有禁用opengl这样安装才不会出现循环登陆的问题

挂载Nvidia驱动

modprobe nvidia

检查驱动是否安装成功:

nvidia-smi

cuda安装

sudo ./cuda_9.2.148_396.37_linux.run --override

注意:

  1. 有时gcc版本检查会中断安装,可以加上–override参数,后面再处理版本问题
  2. cuda里面有显卡驱动,一定选不要安装!!!安装后会替换掉系统中已有驱动!!!

切换gcc版本

方法1:软连接

老版本的cuda对只支持老版本的gcc,可以手工制指定gcc版本

sudo apt -y install gcc-7 g++-7
sudo ln -s /usr/bin/gcc-7 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-7 /usr/local/cuda/bin/g++

方法2:用update-alternatives管理

将某个版本加入gcc候选中,最后的数字是优先级

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7

手工选择版本

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

cudnn安装

参考官方文档

tar -xzvf cudnn-x.x-linux-x64-*.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

切换cuda和cudnn版本

sudo rm /usr/local/cuda; #删除软连接
sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda; #将软连接指向对应版本的cuda目录

参考

https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

https://blog.csdn.net/qq_30468723/article/details/107531062

https://blog.csdn.net/Thanlon/article/details/106125738

https://hellozhaozheng.github.io/z_post/

https://zhuanlan.zhihu.com/p/89714824