在 ubuntu 20 上安装 nvidia 计算卡驱动和 CUDA 工具包,并解决其中出现的问题和附加的依赖包。
环境准备
基础系统为 ubuntu 20.04 LTS Server,安装语言是English,无桌面环境。
计算卡为nvidia Tesla V100,安装时驱动版本为550.54.15
,CUDA版本为12.4
。
本文安装环境为计算卡环境,不具备显示输出,但流程适用于显示卡。注意计算卡环境的话不要先装图形化环境(DE和DM)。
驱动部分
在nvidia官网下载对应型号的驱动,建议下载Linux 64-bit
(Run文件版本),不建议下载deb版本。这部分不难,就不说了。
安装依赖
需要提前安装编译用的依赖:
1 | apt update && apt install -y gcc g++ make |
禁用Nouveau
很多教程说需要先禁用Nouveau,Nouveau是社区维护的第三方nvidia硬件驱动。的确是需要先卸载,但是目前的话新版的nvidia官方run驱动已经能够自动禁用Nouveau了。
后续补充:Nvidia的run格式驱动的自动禁用Nouveau可能不一定好使,可以按照该方法禁用。
- 创建文件
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf
,内容:1
2blacklist nouveau
options nouveau modeset=0 - 创建文件
/usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf
,内容:1
2blacklist nouveau
options nouveau modeset=0 - 重新编译initramfs
1
update-initramfs -u
- 重启后查看是否还有nouveau
1
lsmod | grep nouveau
安装驱动
- 对下载好的run文件加运行权限
1
chmod +x NVIDIA-Linux-x86_64-550.54.15.run
- 直接运行
1
./NVIDIA-Linux-x86_64-550.54.15.run
- 如果没有提前禁用Nouveau的话会提示你Nouveau影响安装,需要禁用,按照他的提示自动创建文件后重启即可。注意会询问你是否重新编译initramfs,要选择是以便应用更改。
此前已经禁用过的话这块不会有提示。 - 重启后再次运行run文件,按照提示一直下一步,如果问你是否重新编译initramfs那块还是选择是,最后success之后重启即可。
- 运行如下命令查看硬件状态
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla V100-PCIE-32GB Off | 00000000:5A:00.0 Off | 0 |
| N/A 34C P0 36W / 250W | 0MiB / 32768MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 Tesla V100-PCIE-32GB Off | 00000000:62:00.0 Off | 0 |
| N/A 34C P0 35W / 250W | 0MiB / 32768MiB | 1% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+ - 结束。
安装图形化界面
这里我装的是xfce4,这块也没什么好说的,命令如下:
1 | apt update && apt install -y xfce4 xfce4-goodies fonts-wqy-zenhei |
其中fonts-wqy-zenhei
用来解决中文显示异常的问题,如果你安装的时候选择的就是中文(意味着已经在安装系统时安装好)或者根本不需要显示中文,则可以不装。另外注意选择DM时要选择lightdm
!安装好桌面后需要重启。
安装 cuda Toolkit
不是必须安装的。
收集信息和下载
还记得刚才的nvidia-smi
输出吗,找到其中的CUDA Version
,这个版本就是你现在能安装的最高的CUDA Toolkit版本,其下版本都可以安装。
打开nvidia官网下载cuda toolkit包,按照页面提示选择操作系统、版本等信息,最后还是建议下载“runfile (local)”。页面上会提供两个命令行,一个是下载一个是执行。
在运行之前还需要下载一个“mofed”的东西,打开MLNX_OFED Download Center,翻到最下面,按操作系统、版本等选择,最后在右边找tgz行,点进去是许可协议,滑到最下面勾选“I Have Read the Above End User License Agreement.”,然后点击“I Agree”就会开始下载。
额外还需要安装一下dkms:
1 | apt update && apt install -y dkms |
安装mofed
后续补充:Mellanox OFED是迈络思的网卡驱动,如果不具备硬件或者不需要使用(单网卡仅用于网络传输)可以跳过此步,并在安装CUDA Toolkit时取消对网卡部分的安装。
- 解压刚才下载的“MOFED_LINUX-24.01-0.3.3.1-ubuntu20.04-x86_64.tgz”
- 执行
./mlnxofedinstall
安装CUDA Toolkit
- 加运行权限
1
chmod +x cuda_12.4.1_550.54.15_linux.run
- 直接运行
./cuda_12.4.1_550.54.15_linux.run
即可 - 一开始是EULA,输入
accept
。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25┌──────────────────────────────────────────────────────────────────────────────┐
│ End User License Agreement │
│ -------------------------- │
│ │
│ NVIDIA Software License Agreement and CUDA Supplement to │
│ Software License Agreement. │
│ │
│ The CUDA Toolkit End User License Agreement applies to the │
│ NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA │
│ Display Driver, NVIDIA Nsight tools (Visual Studio Edition), │
│ and the associated documentation on CUDA APIs, programming │
│ model and development tools. If you do not agree with the │
│ terms and conditions of the license agreement, then do not │
│ download or use the software. │
│ │
│ Last updated: January 12, 2024. │
│ │
│ │
│ Preface │
│ ------- │
│ │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit): │
│ │
└──────────────────────────────────────────────────────────────────────────────┘ - 接下来用方向键和空格取消勾选驱动安装部分,然后勾选 nvidia-fs:
这块如果勾选了驱动会导致安装出错。最后用方向键使高亮到Install上,回车等待即可。1
2
3
4
5
6
7
8
9
10
11
12
13
14┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer │
│ - [ ] Driver │
│ [ ] 550.54.15 │
│ + [X] CUDA Toolkit 12.4 │
│ [X] CUDA Demo Suite 12.4 │
│ [X] CUDA Documentation 12.4 │
│ - [X] Kernel Objects │
│ [X] nvidia-fs │
│ Options │
│ Install │
│ │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
└──────────────────────────────────────────────────────────────────────────────┘ - 然后安装过程中等待即可,过程中没有任何输出,完成后会返回Summary。日志在
/var/log/cuda-installer.log
,可以用tail命令实时查看。
验证安装
1 | admin@admin-pc:~$ cat /etc/lsb-release |