前言
GeForce RTX 3090是最新显卡,CUDA支持也只支持到最新版本11.0及以上。本文记录了GeForce RTX 3090安装驱动和CUDA11.1、cuDNN等过程,CUDA11.1和cuDNN与CUDA10.1及以前的安装过程略有不同。
----------软硬件信息------------
操作系统:Ubuntu20.04
显卡:GeForce RTX 3090
------------------------------
一、安装Nvidia驱动
根据显卡型号3090,去官网下载相应的驱动,我下载的是NVIDIA-Linux-x86_64-460.32.03.run。
-
删除原有的NVIDIA驱动程序
sudo apt-get remove –purge nvidia*
-
进入电脑的BIOS,把Security Boot设置为Disabled
如果没有禁用secure boot,可能会导致Nvidia驱动安装不正常。BIOS在开机之前的界面(一般长按F12)进入。 -
禁用nouveau
默认情况下,Ubuntu采用开源的nouveau驱动程序作为Nvidia显卡的驱动,需要将其禁用
打开编辑配置文件:sudo vim /etc/modprobe.d/blacklist.conf
在最后一行添加:
blacklist nouveau
这一条是用来禁用nouveau驱动,之后也不需要改回来。
由于nouveau是构建在内核中的,所以要执行下面命令生效:sudo update-initramfs -u
-
重启
reboot
重启之后,可以看nouveau有没有运行:
lsmod | grep nouveau
没有任何输出代表禁用生效了。
-
给驱动文件增加可执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-460.32.03.run
安装:
sudo sh ./NVIDIA-Linux-x86_64-460.32.03.run –no-x-check –no-nouveau-check –no-opengl-files
安装完成后重启,使用nvidia-smi验证是否安装成功。
二、安装CUDA
下载需要的CUDA版本文件,这里可以选择CUDA11.0或者11.1,推荐下载11.1版本cuda_11.1.0_455.23.05_linux.run。11.0版本可以下载cuda_11.0.2_450.51.05_linux.run。
-
安装:
sudo sh cuda_11.1.0_455.23.05_linux.run
-
在.bashrc中添加以下路径后source ~/.bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
cuda在安装后一般会默认创建软链接在 /usr/local/cuda/ 路径下。
3. 安装cuDNN
下载CUDA对应的cuDNN。CUDA11.1下载cudnn-11.1-linux-x64-v8.0.4.30.tgz,11.0版本下载cudnn-11.0-linux-x64-v8.0.3.33.tgz。
-
解压
tar -zxvf cudnn-11.1-linux-x64-v8.0.4.30.tgz
-
将相关文件复制到CUDA路径
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.1/include/sudo cp cuda/include/* /usr/local/cuda-11.1/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.1/lib64/ sudo chmod a+r /usr/local/cuda-11.1/include/cudnn.h sudo chmod a+r /usr/local/cuda-11.1/lib64/libcudnn*
-
重建软链接
cd /usr/local sudo rm -rf cuda #删除之前创建的软链接 sudo ln -s cuda-11.1 cuda #重建软链接
四、环境验证
安装pytorch等深度学习环境,测试CUDA是否可用。
参考资料
[1] NVIDIA驱动官网
[2] CUDA Archive
[3] cuDNN Archive
[4] cuda11.1 + cuDNN v8.0.4 for CUDA 11.1 配置流程
[5] Ubuntu18.04上外接显卡扩展坞安装Nvidia驱动和CUDA10.0及cuDNN
[6] Ubuntu18.04安装多个CUDA