Ubuntu20.04安装libtorch
〇、前期准备
1、查看NVIDIA显卡算力和CUDA版本支持的算力
这一步很重要,一定要确定好安装的CUDA版本是否支持显卡的算力,否则安装成功也无法使用GPU加速。如果显卡比较新,通常低版本的CUDA是不支持 的。
- 查看NVIDIA显卡算力:https://developer.nvidia.com/cuda-gpus
这里以GeForce RTX 3090为例,对应的算力是8.6。
- 不同版本CUDA支持的算力:https://en.wikipedia.org/wiki/CUDA#GPUs_supported
GeForce RTX 3090的算力是8.6,因此只能安装高于11.1的CUDA版本。这里选择安装CUDA 12.1。
2、查看CUDA与显卡驱动的版本对应
确定了CUDA版本后,需要确定支持该版本的最低显卡驱动版本。
- 查看CUDA版本与显卡驱动版本对应:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
因为选择了CUDA 12.1,因此显卡驱动必须要大于525.60.13。
一、NVIDIA显卡驱动安装
1、下载显卡驱动
进入NVIDIA显卡驱动官网:https://www.nvidia.cn/drivers/results/
输入显卡型号和操作系统,查找可以安装的驱动版本,这里选择550.107.02
2、安装驱动
下载完成后,使用命令进行安装
A. 安装依赖
sudo apt update
sudo apt install gcc
sudo apt install g++
sudo apt install make
B. 禁用nouveau驱动
nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,ubuntu默认集成了nouveau驱动,安装NVIDIA驱动前必须禁用系统自带的显卡驱动nouveau,否则安装NVIDIA驱动时会报错。
- 查看nouveau是否启用
lsmod | grep nouveau
如果有输出,说明已启用。
- 打开blacklist.conf文件
sudo gedit /etc/modprobe.d/blacklist.conf
- 在文件最后添加以下内容,禁用nouveau
blacklist nouveau
options nouveau modeset=0
- 修改后更新并重启
sudo update-initramfs -u
# 重启
sudo reboot
- 重启后再次执行以下命令,如果没有输出表示已经成功禁用nouveau
lsmod | grep nouveau
C. 显卡驱动安装
- 停止当前显示服务
安装NVIDIA显卡驱动需要停止当前的显示服务。最简单的方法就是使用 telinit 命令更改系统运行级别为3。
sudo telinit 3
如果上面的命令不行,可以通过以下命令进行tty模式
Ctrl + Alt + F2~F6
- 进入命令行后,关闭 X-window 服务
安装NVIDIA显卡驱动过程中通常会提示关闭lightdm,但ubuntu20.04和ubuntu 22.04自带的是 gdm3 显示管理器,可以先安装 lightdm,再禁用;或者直接禁用 gdm3。lightdm和gdm3直观的区别就是gdm3的登录窗口在显示器中间,而lightdm的登录窗口在偏左边,正常使用没有区别。
方式一: 先安装lightdm,再禁用
sudo apt install lightdm # 安装
# 禁用,现面两个命令任选一个
sudo service lightdm stop
sudo /etc/init.d/lightdm stop
方式二: 直接禁用 gdm3
sudo service gdm3 stop
# 或者
sudo /etc/init.d/gdm3 stop
- 安装驱动
cd ~/Downloads
chmod +x NVIDIA-Linux-x86_64-550.107.02.run
sudo sh NVIDIA-Linux-x86_64-550.107.02.run --no-opengl-files
# 参数 --no-opengl-files 只安装驱动文件,不安装 OpenGL 文件。
# 台式机安装不加这个参数也可以正常安装,笔记本不加可能会出现循环登录。
- 驱动安装过程中的一些选项
- An alternate method of installing the NVIDIA driver was detected.
选择 continue installation 。这个应该是推荐你通过 Ubuntu 的 “Software & application” 中的 “Additional Drivers” 安装驱动,不用管,继续安装- The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
- Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择NO继续
- Install NVIDIA’s 32-bit compatibility libraries? 选择No 继续
- Would you like to run the nvidia-xconf