准备
-
禁用nouveau创建文件(禁止系统自带显卡驱动)
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
-
在文件中插入以下内容,将nouveau加入黑名单,默认不开
blacklist nouveau options nouveau modeset=0
-
更行修改然后重启
sudo update-initramfs -u sudo reboot
-
检查
lsmod | grep nouveau
没有输出即成功
卸载原有驱动
-
卸载显卡驱动
sudo apt-get --purge remove "*nvidia*"
-
清理无用包
sudo apt autoremove
卸载cuda
-
卸载
cd /usr/local/cuda-xx.xx/bin/uninstall_cuda_xx.xx.pl sudo ./cuda-uninstaller # 卸载 sudo rm -r /usr/local/cuda-11.8 # 删除文件
-
清理
sudo dpkg -l |grep cuda # 查是否卸干净(若有输出,需要删除输出的文件) sudo dpkg -P 具体名字 # 删除残留
安装新的驱动
-
安装必要的依赖
sudo apt-get install build-essential gcc-multilib dkms
-
查看可提供下载的驱动版本
ubuntu-drivers devices
-
选一个版本进行安装
sudo apt install nvidia-driver-xx-xx
-
安装结束后重启
-
检查是否安装成功
nvidia-smi
安装新的cuda
-
链接
https://developer.nvidia.com/cuda-toolkit-archive
cuda版本 ≤ Nvidia驱动版本 -
是否安装驱动为可选项(已经安装了就不用再安装了)
-
配置环境变量
export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
其中 cuda 是一个链接,这样写的目的是切换 cuda 时不需要再改写配置文件,只需要修改 /usr/local/ 下的 cuda 链接即可
-
如果是自己用,就加在自己的环境变量中:
sudo vim ~/.bashrc # 在文件的末尾加入上面的内容 source ~/.bashrc # 更新
-
如果需要添加到公共环境变量里
sudo vim /etc/bash.bashrc# 在文件的末尾加入上面的内容 source /etc/bash.bashrc # 更新
-
测试
nvcc -V # 会输出 cuda 相关信息
cudnn
-
链接
https://developer.nvidia.com/rdp/cudnn-archive
cudnn 需要对应 cuda 版本 -
下载 Local Installer for Linux x86_64 (Tar) 格式的文件
-
解压
tar -xf cudnn-linux-x86_64-x.x.x.xx_cudaxx-archive.tar.xz
-
复制文件到CUDA安装目录
cd cudnn-linux-x86_64-x.x.x.xx_cudaxx-archive sudo cp ./include/* /usr/local/cuda-xx.x/include sudo cp ./lib/libcudnn* /usr/local/cuda-xx.x/lib64 sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn* # 添加读取权限