Ubuntu 21.04系统安装 + Nvidia RTX3080 Ti 显卡驱动安装+驱动安装后重启黑屏解决+cuda+pytorch深度学习环境搭建
Ubuntu 21.04系统安装 + Nvidia RTX3080 Ti 显卡驱动安装+驱动安装后重启黑屏解决+cuda+pytorch深度学习环境搭建
前言
因为要做论文的实验,实验室新购置了3080TI,配置ubuntu深度学习环境,因为在安装3080TI的显卡驱动上遇到很多次问题,便做一个经验分享
1. Ubuntu 21.04 系统安装
1.1 准备系统盘
-
在ubuntu 官网下载官方镜像 (21.04 河马系统)
-
使用 Rufus 制作系统盘
尝试了18.04、20.04系统,能装系统,但和新卡3080TI驱动兼容的不是很好,遂考虑21.04,终于是成功了,可用去做跑实验了
1.2 安装流程
-
安装系统时选择其他选项,手动地分配各项空间,默认主动分区,不用设为逻辑分区
因为我是双硬盘:1T固态硬盘+4T机械硬盘,空间就比较自由
固态硬盘:
名称 分配大小 类型 备注 EFI 200MB 自动确定 如果电脑时单系统,一定要配置;双系统则无需配置。 / 204800MB Ext4 系统盘大小, 200GB 为佳。 因此一些系统软件会在这里安装,e.g., CUDA, apt-get install 等。 自动确定 65536MB 交换空间 一般和电脑内存一样大,64GB 为佳。 /home 剩下所有内存 Ext4 相当与Windows C: 盘了。 一些用户软件会在这里安装,e.g., anaconda 及其环境, pycharm 等 机械硬盘:
名称 分配大小 类型 备注 /home/data 4T(全部机械硬盘) EXT4 data也可以起别的名字 -
安装完毕后,重启并移除U盘。 如进入系统则安装完成。
2. 显卡驱动安装 (RTX 3080 Ti)
2.1 下载驱动程序
-
下载nvidia驱动程序,RTX 3080 Ti 下载的是 470 版本

- 将 该 .run file 拷贝到 /home 下, 以方便获取并安装
2.2 Ubuntu 系统环境准备
-
安装必要的依赖
sudo apt-get install gcc make sudo apt-get install lightdm
2.3 Ubuntu 图形界面配置
-
禁用 nouveau
sudo gedit /etc/modprobe.d/blacklist.conf在文件最后一行加入
blacklist nouveau options nouveau modeset=0更新内核
sudo update-initramfs -u重启系统
reboot重启之后, 验证 nouveau是否已被禁用
lsmod | grep nouveau无输出则成功禁用
-
关闭 lightdm
sudo service lightdm stop此时进入黑窗界面
Ctrl+Alt+F1登录账户
-
进入下一步安装显卡驱动
2.4 安装显卡驱动
-
找到之前在 /home 中保存的 NVIDIA-*.run 文件
-
运行
sudo bash NVIDIA-*.run比如我的就是
sudo bash NVIDIA-Linux-x86_64-470.57.02.run -
安装过程:
-
如果前面配置都完成了,基本是一路确定,其中 32-bit 库 选择 No, restart X service 选择 Yes 即可
-
完成后 验证 :
nvidia-smi
如过正常输出,则安装完成。
-
安装后重启系统,如果进不了图形界面了,进入黑窗只有左上角有个输入光标。
按 Ctrl+Alt+F1进入命令界面
这是由于新卡驱动兼容性不够好导致的
解决方法:
sudo rm /etc/X11/xorg.conf重启即可进入图形界面
3.cuda安装
3.1下载cuda

因为没有21.04的版本,就近选择20.04版本
在终端输入以下命令下载cuda
wget https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run
3.2安装cuda
sudo sh cuda_11.4.1_470.57.02_linux.run
因为安装过了驱动,所以在安装步骤中就把驱动选项取消勾选
3.3配置环境变量
终端输入
sudo gedit ~/.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
终端输入source ~/.bashrc更新
3.4验证安装完成
在终端输入 nvcc -V
返回版本结果就成功了,如果终端让你安装什么包就安装上,然后再测试
4.pytorch安装
4.1pytorch下载
https://pytorch.org/
选择合适的版本

进入环境后复制命令输入终端
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
4.2验证安装成功
在py文件中写上
import torch
flag = torch.cuda.is_available()
print(flag)
ngpu= 1
# Decide which device we want to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3,3).cuda())
运行,能正常返回说明pytorch和cuda都可用

一起解决这个问题的实验室师兄的帖子:
https://zhuanlan.zhihu.com/p/396680736