ubuntu22.04 安装 NVIDIA 驱动以及CUDA

打印 上一主题 下一主题

主题 803|帖子 803|积分 2409

目次
1、事前题目解决
2、安装 nvidia 驱动
3、卸载 nvidia 驱动方法
4、安装 CUDA
5、安装 Anaconda
6、安装 PyTorch


1、事前题目解决

在安装完ubuntu之后,如果进入ubuntu出现黑屏情况,一般就是nvidia驱动与linux自带的不兼容,可以通过以下方式解决:
   1、启动电脑,进入引导菜单,将光标移动到 Ubuntu项,按键盘上的 "E" 键,进入GRUB页面
  2、选择首单词为 linux 对应的行,将光标移动到该行的末端(一般这行的倒数第2、3个参数为:quiet splash),在这行末端空一个后输入:nomodeset ,按下键盘的 “Ctrl + X” 大概 F10启动,就能进入Ubuntu系统桌面了。
3、之后必要将系统自带的 nouveau 驱动加入系统黑名单中,输入:sudo gedit /etc/modprobe.d/blacklist.conf ,在文件的末端添加以下字段:blacklist nouveau,该操作就是将 nouveau 驱动加入系统黑名单
4、最后更新黑名单:sudo update-initramfs -u
  2、安装 nvidia 驱动

接下来查询系统保举的nvidia显卡版本号:
  1. // 先执行这两行 cmd,否则可能出现 ubuntu-drivers devices 执行后没反映的现象
  2. sudo apt update
  3. sudo apt upgrade
  4. // 查询系统建议安装的nvidia版本
  5. ubuntu-drivers devices
  6. /// 例如  
  7. wsx@wsx:~$ ubuntu-drivers devices
  8. == /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
  9. modalias : pci:v000010DEd00002520sv00001043sd00001722bc03sc00i00
  10. vendor   : NVIDIA Corporation
  11. model    : GA106M [GeForce RTX 3060 Mobile / Max-Q]
  12. driver   : nvidia-driver-545-open - distro non-free
  13. driver   : nvidia-driver-535-server - distro non-free
  14. driver   : nvidia-driver-535 - distro non-free recommended   // 建议安装版本
  15. driver   : nvidia-driver-470 - distro non-free
  16. driver   : nvidia-driver-470-server - distro non-free
  17. driver   : nvidia-driver-535-open - distro non-free
  18. driver   : nvidia-driver-535-server-open - distro non-free
  19. driver   : nvidia-driver-545 - distro non-free
  20. driver   : xserver-xorg-video-nouveau - distro free builtin
复制代码
然后首先确保 BIOS 的 security boot 是 disable 状态的,以华硕电脑为例,操作如下:
安装过程中大概在进入BIOS时找不到U盘启动项,这时可以尝试将电脑的 Secure Boot Control 关掉。详细的做法为:进入BIOS -> Advanced Mode -> Security -> Secure Boot -> Secure Boot Control -> Disabled。如下所示:

然后实行以下命令安装,最后必要实行 reboot 重启电脑(必须重启,否则背面实行 nvidia-smi 会报错):
  1. sudo apt install nvidia-driver-535
  2. reboot
复制代码
重启之后实行 nvidia-smi,正常情况下可以看到 nvidia driver 信息以及显卡信息:

注意,这里右上角所显示的 cuda version 是指当前 nvidia 所支持的 cuda 的最高版本,也就是说是可以兼容 cuda 12.1 的。
nvidia-smi 显示的的 cuda version 是当前驱动支持的最大 cuda toolkit 的版本。
CUDA有两种API,分别是运行时API和驱动API,即所谓的Runtime API与Driver API。[可参考:CUDA Compatibility]

nvidia-smi 的效果除了有 GPU 驱动版本型号,另有 CUDA Driver API 的版本号,而 nvcc -V 的效果是对应 CUDA Runtime API。CUDA Runtime API 依赖 CUDA Driver API。
   利用conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia 命令安装 pytorch 时,附带的 CUDA 和从官网安装的 CUDA 有何不同?一言以蔽之:前者是后者的子集,是 pytorch 所必须的那一部分子集,而像编译器 nvcc 等非必须的 CUDA 组件则没有。
  Pytorch每每只必要利用 CUDA 的动态链接库使程序顺遂运行,因为其中利用 CUDA 计算的部分是提前编译好的 ,就像常见的可实行程序一样,不必要重新进行编译过程,只必要其所依赖的动态链接库存在即可正常运行。
  当两者同时安装时,pytorch 深度学习环境会优先利用前者。当没有单独安装CUDA时,如果在安装pytorch时安装了 CUDA 子集,那么环境也是可以正常利用的,这在pytorch的源码中可以发现。因此建议利用深度学习环境的同砚非必要不安装单独的CUDA,只需保持显卡驱动的正常更新即可。
  
参考:https://www.zhihu.com/question/622711856/answer/3339303390
  3、卸载 nvidia 驱动方法

卸载nvidia驱动的方法: 
  1. sudo apt-get purge nvidia-*
  2. sudo apt-get update
  3. sudo apt-get autoremove
复制代码
4、安装 CUDA

 CUDA 版本与 NVIDIA 驱动的兼容关系可以参考:CUDA 12.5 Update 1 Release Notes
CUDA 的下载地点: CUDA Toolkit Archive | NVIDIA Developer
这里我装 12.1.1 版本

选择 runfile 来安装,deb 谁人看起来命令太多了,吓人。。。 

 这里我在 wget 背面加一个 -P 参数可以制定安装文件夹路径,对应的在实行 .run 文件时也必要加上指定的路径才行:
  1. wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run -P Downloads/
  2. sudo sh Downloads/cuda_12.1.1_530.30.02_linux.run
复制代码
安装的时候记得去掉安装 driver 的选项,因为上面已经装过了。安装完成之后会出现:

然后添加系统环境变量,根据自己安装的实际版本修改:
  1. export PATH=$PATH:/usr/local/cuda-12.1/bin
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64
  3. export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-12.1/lib64
复制代码
然后输入 nvcc -V 来查看是否安装成功:
  1. source .bashrc // 刷新刚才写入的环境变量
  2. nvcc -V
复制代码

Ubuntu 安装NVIDIA显卡驱动、安装对应的CUDA_ubuntu安装nvidia显卡驱动-CSDN博客
接下来:
5、安装 Anaconda

Download Anaconda Distribution | Anaconda

创建conda环境:
  1. conda create -n name python=3.12
复制代码
 6、安装 PyTorch

Start Locally | PyTorch
嫌弃 ubuntu pip 安装太慢的话,可以换一下国内的源:
  1. cd ~
  2. mkdir .pip
  3. cd .pip
  4. touch pip.conf
  5. sudo chmod 755 pip.conf
  6. gedit pip.conf
复制代码
填入以下内容并生存,我这里选择aliyun的源:
  1. [global]
  2. index-url = https://mirrors.aliyun.com/pypi/simple/
复制代码
下载直接起飞~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表