因为做深度学习的研究项目,为全新机器在Ubuntu 20.04 LTS 系统下 安装Nvidia 显卡驱动、Cuda、Cudnn。并进行CUDA版本切换
成功安装完成了,写个记录。

1. 安装Nvidia 显卡驱动

步骤一: 安装更新软件列表和依赖项

  • 在安装Nvidia显卡驱动之前,需要更新软件列表和必要的依赖项。
sudo apt-get update		# 更新软件列表
sudo apt-get install g++		# 下载g++编译器
sudo apt-get install gcc		# 下载gcc编译器
sudo apt-get install make		# 下载GNU Make编译器
sudo apt-get install initramfs-tools   # 下载安装initramfs-tools

步骤二: 查看GPU型号,并下载对应驱动

# lspci -n/-nn:显示设备的vendor厂商号和device设备号;显示厂商等信息和名称。
lspci -nn | grep VGA

# 例如我这边输出
# 2d:00.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)

步骤三:禁用nouveau通用驱动

  • 同时,我这边是服务器版Ubuntu,无图形界面,若安装的是有图形界面的Ubuntu,可输入Ctrl + Alt + F1F6,以免出现报错
  • 我这边原先是没驱动的,就不用删除原有显卡驱动,要是有的话,需要提前进行删除。sudo apt-get remove --purge nvidia*,需要彻底删除,否则安装时会报错。
  • 修改blacklist.conf文件
sudo vim /etc/modprobe.d/blacklist.conf
  • 在blacklist.conf文件,最下方添加命令
blacklist nouveau
options nouveau modeset=0
  • 更新配置
sudo update-initramfs -u
  • 之后必须进行重启,sudo reboot ,重启后输入下方命令,若无输出则说明禁用成功
lsmod | grep nouveau

步骤三:安装Nvidia 显卡驱动

对显卡驱动run文件,进行赋权,并进行安装。

#修改权限
sudo chmod 777 NVIDIA-Linux-x86_64-384.111.run 
#安装驱动
sudo ./NVIDIA-Linux-x86_64-525.105.17.run –no-x-check –no-nouveau-check –no-opengl-files 
#–no-x-check 关闭X服务
#–no-nouveau-check 禁用nouveau
#–no-opengl-files 不安装OpenGL文件
  • 安装过程中出现以下提示,进行选择。(顺序可能不同)
1.Install NVIDIA's 32-bit compatibility libraries?
是否安装NVIDIA的32位兼容库?
选择  NO

2.The distribution-provided pre-install script failed! Are you sure you          want to continue?
分发提供的预安装脚本失败!你确定要继续吗?
选择  continue installation

3.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  
您想向DKMS注册内核模块源吗?
这将允许DKMS自动构建一个新模块,如果您稍后安装不同的内核?
选择 No 

4.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  
是否要运行nvidia-xconfigutility来自动更新x配置,
以便在重新启动x时使用nvidia x驱动程序?
任何预先存在的x confile都将被备份。
选择 Yes

安装完成后,

# 可进行重启
sudo reboot

# 输入指令查看显卡信息
nvidia-smi

Ubuntu20安装ActiveMQ Ubuntu20安装显卡教程_CUDA_02



2. 安装CUDA

步骤一: 下载CUDA安装包

  • 根据 Tensorflow 对应的GCC、CUDA、cuDNN版本信息,保证,版本大于等于推荐版本。https://tensorflow.google.cn/install/source#linux

Ubuntu20安装ActiveMQ Ubuntu20安装显卡教程_CUDA_03

  • 进行CUDA和cuDNN的选择,也可以直接根据官方推荐进行下载安装。
  • 从Nvidia官网下载CUDA
    https://developer.nvidia.com/cuda-downloads 下方链接,选择更多版本
    https://developer.nvidia.com/cuda-toolkit-archive

Ubuntu20安装ActiveMQ Ubuntu20安装显卡教程_CUDA_04

  • 接下来根据提示进行下载、安装
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

sudo sh cuda_12.1.0_530.30.02_linux.run
  • 其中,可以直接依据指令wget命令进行下载。也可以复制run包到浏览器 中,进行下载。(ps:这边需注意对应的cuda版本)https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

步骤二: 安装CUDA安装包过程中的选择

  • Do you accept the above EULA? (accept / decline / quit):
  • 是否接受最终用户许可协议,输入accept
  • Ubuntu20安装ActiveMQ Ubuntu20安装显卡教程_CUDA_05


  • 回车键进行勾选,X就是选中,没有X就是没有选中,把安装驱动进行取消。之后向下键,回车确认install

步骤三: 配置CUDA环境

sudo  vim ~/.bashrc
  • 在bashrc文件最下方,添加下入代码
  • (ps:这边需要注意cuda的版本,版本不同,路径的命名需修改)
export CUDA_HOME=/usr/local/cuda-11.2
export PATH=$PATH:/usr/local/cuda-11.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
  • 更新环境
source ~/.bashrc
  • 测试CUDA是否安装成功
nvcc -V
# 或者 nvcc --version

输出下述结果,表示安装成功

Ubuntu20安装ActiveMQ Ubuntu20安装显卡教程_ubuntu_06



3. 安装cuDNN

步骤一:下载cuDNN包

  • 根据Tensorflow对应CUDA,下载相应的cuDNN包。(这边下载,可能需要登录Nvida账号,可按照网站指引,进行登录或注册。)
    https://developer.nvidia.com/rdp/cudnn-archive
  • 例如这边选择了Download cuDNN v8.2.0 (April 23rd, 2021), for CUDA 11.x
  • 点击cuDNN Library for Linux (x86_64)即可下载压缩包
  • 将压缩包,放入自定义路径后,输入命令进行解压
tar -xzvf cudnn-11.3-linux-x64-v8.2.1.32
  • 解压后,输入命令,讲cuDNN对应文件拷贝至CUDA指定路径。
sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.2/lib64
sudo chmod a+r /usr/local/cuda-11.2/include/cudnn*.h /usr/local/cuda-11.2/lib64/libcudnn*



4. CUDA版本切换

  • 因为后续部分项目,用的库对应的CUDA不同,无需进行修改,修改环境CUDA路径即可。例如需要11.1的CUDA,可通过修改bashrc进行修改
sudo vim ~/.bashrc

将原先的cuda-11.2注释掉,添加cuda-11.1新的环境设置,即可

# cuda-11.2
# export CUDA_HOME=/usr/local/cuda-11.2
# export PATH=$PATH:/usr/local/cuda-11.2/bin
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64

# cuda-11.1
export CUDA_HOME=/usr/local/cuda-11.1
export PATH=$PATH:/usr/local/cuda-11.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64