欢迎光临散文网 会员登陆 & 注册

2022年4月21日发布的最新版本 Ubuntu 22.04 LTS 安装 CUDA 和 cuDNN 踩坑记录 !!!

2022-04-29 14:51 作者:HuZhihang  | 我要投稿

1. 从 Ubuntu 20.04 LTS 升级至 Ubuntu 22.04 LTS解决了哪些问题?

  1. 解决了部分较新机型无WiFi的问题:Ubuntu 20.04 LTS的默认内核发布于四年前,自然识别不了现在市面上流通的无线网卡,比如今年的联想拯救者2022 Y9000P就使用Intel AX211无线网卡,千辛万苦装好了Ubuntu 20.04,缺发现没有无线网用(插网线可以,但没办法带出宿舍做实验,到图书馆或实验室装逼),现在只需要重新安装Ubuntu 22.04 LTS,开机即有无线网,配合手机热点,在校园各处全覆盖装逼。

  2. 解决了Nvidia独立显卡驱动不适配的问题:在Ubuntu 20.04上,系统推荐安装的Nvidia独立显卡驱动版本是 nvidia-driver-470,但CUDA 11.6建议的版本是 nvidia-driver-510,虽然勉强能用,但是版本总是不断更新,想有最好的机器学习体验,就需要保证各组件的版本匹配,并较新。如果在安装Ubuntu 22.04时勾选允许第三方驱动,你会惊喜得发现,系统安装后,开机就已经装好了最新的 nvidia-driver-510,也能直接在终端中直接运行“nvidia-smi"命令(该命令用来简单判断Nvidia独立显卡驱动是否正常工作)。

  3. 仍然支持最新版本的CUDA和cuDNN:我测试时的版本如下,

验证CUDA安装成功的设备查询测试 -- 通过
验证CUDA安装成功的带宽测试 -- 通过
验证cuDNN安装成功的测试 -- 通过

注意上图倒数第三行的 5.15.0-27-generic 内核版本号,这的确是Ubuntu 22.04 LTS的默认内核版本,这证明,最新版本的Ubuntu是可以使用如下版本号进行机器学习的环境配置的:

  • Ubuntu 22.04 LTS 内核版本号:Linux y9000p 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

  • nvidia独立显卡驱动版本号:510.60.02

  • CUDA版本号:cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64

  • cuDNN版本号:cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64


2. 新版本 Ubuntu 22.04 LTS 安装及机器学习环境搭建。

  1. 安装系统,参照全流程视频 https://www.bilibili.com/video/BV15F411s7vi?share_source=copy_web流程,该流程安装的是次新版本Ubuntu 20.04 LTS,但系统的安装流程完全一致,UP已实操验证。如果在安装系统时 勾选“安装第三方驱动“,开机自带 510.60.02 版本的Nvidia独立显卡驱动。

  2. 安装 Nvidia独立显卡驱动,参照帮助文档 https://rust-fedora-57b.notion.site/Environment-3b05d5afa0f94c0a808cc31294b8efcc

  3. 安装 CUDA,参照全流程视频 https://www.bilibili.com/video/BV1Rq4y1h7jK?share_source=copy_web,这里注意,新版本的Ubuntu 22.04 需要安装 liburcu6软件包,先在“附加驱动的其他软件 选项中添加源 "deb http://ftp.cn.debian.org/debian bullseye main" :

deb http://ftp.cn.debian.org/debian bullseye main

添加后点击右下角"关闭",点击弹出对话框的“关闭”:

在终端中使用在终端中使用 “sudo apt update" 应用更新后的源,会提示缺少GPK密钥序列,一共四条,将缺少密钥添加到该命令的末尾,一共添加4个(分4次去运行,每复制粘贴一个密钥,回车导入一次),“sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com [提示缺少的4条GPK]"命令,

再次在终端中使用 “sudo apt update" 应用更新后的源,再使用 “sudo apt install liburcu6" 即可安装包。根据帮助文档即可完成CUDA的安装和验证。

4. 安装cuDNN,根据帮助文档安装,但使用 "sudo make" 编译验证代码时同样需要添加源 “deb http://ftp.cn.debian.org/debian sid main“,需导入的密钥和安装的包名都在帮助文档中。

5. 当三个测试(CUDA的deviceQuery和bandwidthTest测试,cuDNN的mnistCUDNN测试)均通过后,取消之前添加的两个镜像源,只需要把这两个Debian开头的勾掉,再点右下角的关闭,点弹出框的关闭即可。

打开终端使用"sudo apt update”,应用取消这两个镜像的后的源。如果在添加源之前显示“所有软件包均为最新”,在取消源后仍显示该字样,则没有问题。

6. 配置机器学习环境,根据扩展文档 https://rust-fedora-57b.notion.site/Anaconda-b4d288c6265d4e5fa84dd0020af59680 即可配置好机器学习的基本环境。找一段机器学习的代码,并确保你的环境中以及安装了代码中涉及到的包,缺少包使用 pip命令安装即可,我们来测试一下:

已经开始800轮训练,每轮15s
GPU占用97%,说明训练正常进行

至此,4月21日才发布的Ubuntu 22.04 LTS 配置 截至4月29日最新版本的CUDA及cuDNN并成功进行机器学习训练 已被验证

3. 结语

本人是大三留级生,舍友今年已考研上岸。现在顶着学校破事的压力折腾一些事情,像配置这个环境是为了学校的本创,五人一组,全都我做。我可能做不出来,但是坚持去折腾折腾,我觉得折腾并没有错,像Linux还有Nvidia都是别人的,我时常感叹,别人能创造出这样令人惊艳觉得酷的产品,技术,理念,而我总要为了一些死规矩去签到,背题,考试。学校的实验报告永远实际做出来的东西重要,论文永远是格式比探索的过程更关键,我想说,这样肯定是错的,但是我们都不能改变什么,因为我们在体制里,我们要遵守游戏规则。或许和科班比起来,我的折腾显得效率极其低下,我大概是两年卡就关注到了“稚晖君”这样的人物,那时他给我的很大信心,然而两年后,在学校考试,自己杂乱想法和打游戏之间,我仍然没能折腾出什么像样的东西,现在的考研也是新形势下不得不走的路。然而我还是用一个上午写了这篇文章,不管我有多么失落或者烦闷,我希望正在折腾而不循规蹈矩的人再多坚持一天,一次尝试,我和你们是同一阵营的,我们都喜欢更酷的技术!



2022年4月21日发布的最新版本 Ubuntu 22.04 LTS 安装 CUDA 和 cuDNN 踩坑记录 !!!的评论 (共 条)

分享到微博请遵守国家法律