如何解决Ubuntu 20.04LTS与RTX3080显卡的兼容性问题及CUDA、cuDNN配置指南
长时间看不到。最近,实验室购买了一批RTX3080图形卡,但发现在使用普通Ubuntun 20.04LTS版本系统之前,出现了崩溃级的错误。解决此问题后,我花了很多时间配置Cuda,Cudnn(各种版本之间的匹配问题)。基于“教人们如何钓鱼比钓鱼”的概念,本文希望更多的学生在配置环境的过程中花费不必要的时间。由于我的水平有限,本文可能存在错误和遗漏。
以下关键硬件和软件环境:
处理器:Intel®Core™I9-10900K CPU @ 3.70GHz×20
系统版本:Ubuntu 20.04.4 LTS 64位(以下简称为“系统”或“ Ubuntu”)
GNOME版本:3.36.8
图形处理器:RTX3080
首先查看导致系统崩溃的错误;触发方案是打开系统[设置]将导致系统崩溃,而锁定屏幕软启动了GNOME桌面程序。测试后,该错误在实验室的多台计算机上复制。
阅读系统崩溃日志后,感觉就像是新的RTX3080图形卡引起的问题。
这种情况仅在实验室的某些计算机中复制,而某些计算机没有再现此错误,但分辨率异常,并且无法调整。
让我们回到重点,首先解决系统无法识别以太网卡的问题。实际上,没有安装驱动程序。首先,我们在终端中输入LSPCI,以显示当前主机和所有已连接的PCI设备信息的所有PCI总线信息。
1。安装网卡驱动程序
您可以看到该网卡是由Realtek生产的RTL8125。我们访问官方网站,根据模型下载相应的Linux驱动程序。
官方网站下载链接如下,选择2.5G以太网Linux驱动程序R8125的内核最高为5.6
https://www.realtek.com/zh-tw/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
由于对Realtek网站的不平衡访问,它使环境没有网络更糟。因此,作者将驱动程序软件包上传到阿里巴巴云驱动器。读者可以将驱动程序软件包下载到USB磁盘,然后将其复制到Ubuntu,或通过数据电缆将Android设备通过UBUNTU通过USB共享网络连接到Ubuntu,然后下载驱动程序包。相同的路相同
Alibaba Cloud Disk链接:(我分享的是,该文件夹需要由客户下载,我抱怨它不支持ZIP共享)
https://www.aliyundrive.com/s/objfJmJzszt
在安装驱动程序之前,请确保系统使用GCC安装并制作依赖环境。在安装过程中,计算机需要网络。在这里,您只能通过上述USB暂时解决网络问题。安装步骤如下;
1.1。首先,与手机共享网络
更新本地软件列表和版本,并在终端中分别执行
sudo apt-get update
在此处输入密码,终端不会显示它。输入完成后输入。
sudo apt-get upgrade
输入y,然后输入以确认
1.2。安装GCC并制作
进入终端
sudo apt install gcc
sudo apt install make
1.3。安装网卡驱动程序
将下载的网络卡驱动程序包R8125-9.007.01移动到桌面(不是特定于作者使用的特定),切换到终端CD中的R8125-9.007.01路径,然后在终端中执行以下命令
sudo sh autorun.sh
安装完成后,请拔下USB数据电缆,以确保计算机网络电缆正常连接。开关已打开。通过IFConfig -A命令,您可以看到网卡正常运行。您可以释放实验室的1000m带宽并起飞。
2。安装RTX3080图形驱动程序
2.1。下载RTX3080 Linux版本的驱动程序包
官方网站下载链接如下,并根据下图选择相应的模型
https://www.nvidia.cn/Download/index.aspx?lang=cn
同样,访问NVIDIA官方网站也不流畅,实验室的1000m带宽也无助。
,因此作者提供了阿里巴巴云磁盘下载地址(如果您需要驱动程序的最新版本,请访问官方网站下载它)
阿里巴巴云磁盘链接如下:(当前版本:nvidia-linux-x86_64-510.54)
https://www.aliyundrive.com/s/WCW2Z67FSgN
2.2。 Ubuntu系统安装的必要环境
终端输入执行
sudo apt-get install gcc make
2.3。 Ubuntu系统图形接口配置
禁用终端中的Nouveau输入执行
sudo gedit /etc/modprobe.d/blacklist.conf
添加在打开blacklist.conf文件的末尾
blacklist nouveau
0 =
更新内核并重新启动系统。终端依次执行以下命令
sudo update-initramfs -u
reboot
系统重新启动后,验证是否成功禁用了它。如果终端输入以下命令,将成功禁用它。
lsmod | grep nouveau
2.4。安装RTX3080 Linux版本驱动程序包
将驱动程序软件包nvidia-linux-x86_64-510.54。在2.1中下载的run to ubuntu [home Directory]。此步骤非常重要。
在终端中执行以下命令并输入TTY接口
sudo telinit 3
输入以下接口后,输入计算机登录用户名和密码登录。
然后使用LL或LS -A命令查看当前目录文件。我们可以直接看到NVIDIA-LINUX-X86_64-510.54.RUN文件。 TTY接口无法输入和显示中文。如果CD操作涉及中国路径,那将是非常麻烦的,因此这也是将驱动程序包移至主目录的原因。
然后执行以下命令,文件名nvidia-linux-x86_64-510.54.run在这里需要匹配您下载的文件名。
sudo sh NVIDIA-Linux-x86_64-510.54.run
等待驱动程序安装程序运行,然后继续,是一直
安装完成后,输入光标将出现在屏幕的左下角。只需输入startx或重新启动。输入startx以返回图形接口。如果与实际桌面有任何区别,建议直接重新启动。
重新启动后,在终端中输入以下命令,以检查图形卡驱动程序是否已成功安装。
nvidia-smi
此时,已成功安装了RTX3080图形卡驱动程序,并且分辨率显示比率是正常且可调节的。造成系统崩溃的文章开头提到的错误已解决。
3。安装Python,Cuda,Cudnn,Pytorch
首先让我们简要了解Cuda,Cudnn和Pytorch做什么
CUDA:这是NVIDIA推出的自己的GPU的平行计算框架。当要解决的计算问题是可以计算大量并行计算时,可以扮演CUDA的作用。官方描述如下
Cudnn:这是一个由Nvidia创建的深神经网络的加速库。这是一个用于深神经网络的GPU加速库。官方描述如下
Pytorch:Pytorch是Torch的Python版本。它是专为GPU加速深度神经网络(DNNS)设计的开源神经网络框架。
3.1。在Ubuntu安装Python
Ubuntu 20.04LT随附Python3,因此我们只需要安装PIP3即可。
运行以下命令以在终端安装pip3
sudo apt install python3-pip
3.2。安装CUDA
在安装CUDA之前,您必须首先考虑要运行的项目的框架以及Ubuntu的系统版本支持的CUDA版本。例如,如果配置环境要运行Yolov5项目,则我们访问GitHub以查看项目的运行环境要求。
(UI贴纸电影007:没有时间去世真是太好了
)
显然,安装中提到了环境要求; clone repo and install sumplast.txt在apython> = 3.7.0环境中,包括pytorch> = 1.7。
然后,我们只需要注意Pytorch即可。来到Pytorch官方网站,有两个版本10.2和11.3可用。因此,现在我们只需要关心cuda10.2和cuda11.3与Ubuntu系统兼容。
来到NVIDIA的官方网站,然后下载CUDA页面。您会看到CUDA10.2不提供与Ubuntu 20.04兼容的程序。下图显示了CUDA11.3版本支持20.04,因此我们安装了CUDA11.3版本
CUDA版本官方网站链接:
https://developer.nvidia.com/cuda-toolkit-archive
按照官方网站的安装说明,在终端中执行以下命令。
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run
同样,作者提供cuda_11.3.0_465.19.01_linux.run阿里巴巴云磁盘链接
https://www.aliyundrive.com/s/ufyCccdsYe7
在这里您需要取消驾驶员检查,将光标移至选项,然后按Enter取消支票,然后安装
安装如下完成,然后需要设置环境变量
在终端中执行以下命令
sudo gedit ~/.bashrc
在文本末尾添加以下内容,并记住保存
export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH"
然后终端依次执行以下命令,
source ~/.bashrc
nvcc -V
此时,已安装了CUDA11.3
3.2。安装Cudnn
下载Cudnn安装程序包。在NVIDIA官方网站上未找到11.3的特定版本。因此,我们选择了提供的11.x版本,并为Linux选择了Cudnn库(x86_64)
下载链接到Cudnn版本的官方网站:
https://developer.nvidia.com/rdp/cudnn-archive
可以使用linux的TAR -XVZF CUDNN库(X86_64).TGZ命令或Ubuntu的档案工具来提取和解压缩您取消拉链和下载的CUDNN软件包,然后将CD到终端中的DemanScompresse File Path中,然后依次执行以下命令。 Cudnn是CUDA的扩展插件设计,因此请将相应文件复制到CUDA工具包目录并更改文件权限。
sudo cp cuda/include/cudnn.h /usr/local/cuda/includesudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
此时,Cudnn的安装已完成
3.3。安装Pytorch
如果已经安装了CUDA,则安装Pytorch非常简单。按照官方网站安装说明在终端中执行
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio==0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
此时,安装了Pytorch
4。安装外部USB蓝牙模块和驱动程序
USB蓝牙5.0模块(5.0支持Ubuntu,很难找到):
https://m.tb.cn/h.fnwlA47?tk=bwWL2VBachX
驱动程序包下载链接:
https://www.aliyundrive.com/s/PRwQMR1EEvR
下载驱动程序包,将CD解压缩到文件的根目录,插入USB蓝牙模块并执行以下命令。完成后,重新启动并识别蓝牙模块。
sudo make install INTERFACE=all
然后,您可以使用蓝牙连接到无线键盘,慕斯,扬声器等。这是我自己的要求。顺便说一下,如果您具有外部无线WiFi模块,则Internet上有许多无人驾驶USB WiFi模块适用于多个系统。您可以通过插入计算机而不会像蓝牙模块那样麻烦来使用它们。
在这一点上,已经安装了USB外部蓝牙模块,并终于编写了整个文章。
你无处不在