在 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是社区维护的第三方nvidia硬件驱动。的确是需要先卸载,但是目前的话新版的nvidia官方run驱动已经能够自动禁用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
!
不是必须安装的。
收集信息和下载 还记得刚才的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 解压刚才下载的“MLNX_OFED_LINUX-24.01-0.3.3.1-ubuntu20.04-x86_64.tgz” 执行./mlnxofedinstall
加运行权限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: 这块如果勾选了驱动会导致安装出错。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 │ └──────────────────────────────────────────────────────────────────────────────┘
最后用方向键使高亮到Install上,回车等待即可。 然后安装过程中等待即可,过程中没有任何输出,完成后会返回Summary。日志在/var/log/cuda-installer.log
,可以用tail命令实时查看。 验证安装 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 admin@admin-pc:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS" admin@admin-pc:~$ uname -a Linux admin-pc 5.4.0-176-generic #196-Ubuntu SMP Fri Mar 22 16:46:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux admin@admin-pc:~$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Thu_Mar_28_02:18:24_PDT_2024 Cuda compilation tools, release 12.4, V12.4.131 Build cuda_12.4.r12.4/compiler.34097967_0 admin@admin-pc:~$ nvidia-smi Wed Apr 17 15:16:01 2024 +-----------------------------------------------------------------------------------------+ | 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 32C P0 35W / 250W | 0MiB / 32768MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ | 1 Tesla V100-PCIE-32GB Off | 00000000:62:00.0 Off | 0 | | N/A 33C P0 35W / 250W | 0MiB / 32768MiB | 2% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+ admin@admin-pc:~$