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
- 1
- 2
2.3 Ubuntu 图形界面配置
-
禁用 nouveau
sudo gedit /etc/modprobe.d/blacklist.conf
- 1
在文件最后一行加入
blacklist nouveau options nouveau modeset=0
- 1
- 2
更新内核
sudo update-initramfs -u
- 1
重启系统
reboot
- 1
重启之后, 验证 nouveau是否已被禁用
lsmod | grep nouveau
- 1
无输出则成功禁用
-
关闭 lightdm
sudo service lightdm stop
- 1
此时进入黑窗界面
Ctrl+Alt+F1
- 1
登录账户
-
进入下一步安装显卡驱动
2.4 安装显卡驱动
-
找到之前在 /home 中保存的 NVIDIA-*.run 文件
-
运行
sudo bash NVIDIA-*.run
- 1
比如我的就是
sudo bash NVIDIA-Linux-x86_64-470.57.02.run
- 1
-
安装过程:
-
如果前面配置都完成了,基本是一路确定,其中 32-bit 库 选择 No, restart X service 选择 Yes 即可
-
完成后 验证 :
nvidia-smi
- 1
如过正常输出,则安装完成。
-
安装后重启系统,如果进不了图形界面了,进入黑窗只有左上角有个输入光标。
按 Ctrl+Alt+F1进入命令界面
这是由于新卡驱动兼容性不够好导致的
解决方法:
sudo rm /etc/X11/xorg.conf
- 1
重启即可进入图形界面
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
- 1
3.2安装cuda
sudo sh cuda_11.4.1_470.57.02_linux.run
- 1
因为安装过了驱动,所以在安装步骤中就把驱动选项取消勾选
3.3配置环境变量
终端输入
sudo gedit ~/.bashrc
- 1
在文档最后加上
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
- 1
- 2
- 3
终端输入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
- 1
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())
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
运行,能正常返回说明pytorch和cuda都可用
一起解决这个问题的实验室师兄的帖子:
https://zhuanlan.zhihu.com/p/396680736
可能出现的问题及解决方法:
安装最后出现 nvidia-drm 模块问题
Unable to load the “nvidia-drm” kernel module
ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.
出现这个问题可能有两个原因:
1.开启了UEFI secure boot,导致第三方模块没有被合法签名,所以无法校验成功并加载
解决方法: 执行以下命令:
sudo mokutil --disable-validation
该命令会要求设置一个 8-16位的密码,设置完成后重启。第一次重启,会有几秒钟提示按任意键进入MoK管理界面,然后按照提示输入密码,禁用Secure boot 即可。
2.系统在配置文件中禁用了nvidia-drm 模块
解决方法:
执行以下命令:
$ grep nvidia /etc/modprobe.d/* /lib/modprobe.d/*
运行结果如下,可能不同机器的结果会有小出入,但可见NVIDIA的一些模块被禁用:
/etc/modprobe.d/blacklist-framebuffer.conf:blacklist nvidiafb
/lib/modprobe.d/blacklist-nvidia.conf:# This file was generated by nvidia-prime
/lib/modprobe.d/blacklist-nvidia.conf:blacklist nvidia
/lib/modprobe.d/blacklist-nvidia.conf:blacklist nvidia-drm
/lib/modprobe.d/blacklist-nvidia.conf:blacklist nvidia-modeset
/lib/modprobe.d/blacklist-nvidia.conf:alias nvidia off
/lib/modprobe.d/blacklist-nvidia.conf:alias nvidia-drm off
/lib/modprobe.d/blacklist-nvidia.conf:alias nvidia-modeset off
/lib/modprobe.d/nvidia-kms.conf:# This file was generated by nvidia-prime
/lib/modprobe.d/nvidia-kms.conf:options nvidia-drm modeset=1
因此需要将这些blacklist文件删除或者转为.bak文件(可能不同机器文件名不同,可视上一命令运行结果定)
cd /etc/modprobe.d/
sudo mv blacklist-nvidia.conf blacklist-nvidia.conf.bak
cd /lib/modprobe.d/
sudo mv blacklist-nvidia.conf blacklist-nvidia.conf.bak
解决以上,重启后,再行安装即可!
原文地址:https://blog.csdn.net/weixin_46203866/article/details/119425999
https://zhuanlan.zhihu.com/p/261314033