本文介绍如何在 Ubuntu 22.04 LTS 上安装 CUDA-12.1 。

下载

下载之前首先确定自己的电脑的显卡为Nvidia的显卡。其次是查询自己电脑的操作系统。

确定自己有NVIDIA的GPU。

1
$ lspci | grep -i nvidia

如果有显示nvidia的显卡信息,则表示具备上述条件。一个符合条件的示例如下:

1
2
3
nick@seis:~$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation Device GA106 [GeForce RTX 3060 Lite Hash Rate](rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 228e (rev a1)

确定自己的操作系统是cuda官网列出的支持的操作系统:

1
$ uname -m && cat /etc/*release

官网上列出的有Fedora, OpenSUSE, RHEL, CentOS, SLES, Ubuntu。一个符合条件的示例如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
nick@seis:~$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

确认好这些信息后,从官网上下载对应的安装文件,这里选择下载是runfile(local)文件。

下载完成后,确认文件是否完整:

1
2
$ md5sum cuda_12.1.1_530.30.02_linux.run
2f0a4127bf797bf4eab0be2a547cb8d0  cuda_12.1.1_530.30.02_linux.run

预处理

删除之前安装的关于nvidia的软件

1
$ sudo apt purge nvidia-cuda*

如果想安装显卡驱动的话,则采用下面的命令:

1
$ sudo apt purge nvidia-*

安装Nvidia显卡驱动

  1. 更新系统
1
2
3
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
  1. 添加Nvidia显卡驱动源
1
$ sudo add-apt-repository ppa:graphics-drivers/ppa

运行该命令会警告是否添加,按回车继续即可。

  1. 更新系统源
1
$ sudo apt update
  1. 通过Ctrl+Alt+F2进入终端界面; 实际不一定是F2,如果F2不行,可以试试其他的F[1-12].
  2. 停止使用图形界面:
1
$ sudo service lightdm stop
  1. /etc/modprobe.d/目录下新建blacklist-nouveau.conf文件,并在该文件中写入下列信息:
1
2
blacklist nouveau
options nouveau modeset=0
  1. 重新生成内核initrd:
1
$ sudo update-initramfs -u
  1. 搜索最新的驱动并安装
1
2
3
$ sudo apt install nvidia-common
$ ubuntu-drivers devices # 看一下输出中哪一个是最新的版本
$ sudo apt install nvidia-530 # 目前为最新版本
  1. 重启
1
$ sudo reboot

安装Cuda12.1

运行安装文件cuda_12.1.1_530.30.02_linux.run:

1
$ sudo sh cuda_12.1.1_530.30.02_linux.run --override

对于安装过程中出现的选择, 除了安装显卡驱动那个选n,其他的全部选择y。

环境变量设置

~/.bashrc文件最后添加下列语句

1
2
3
# CUDA-12.1
export PATH=$PATH:/usr/local/cuda-12.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64

然后再终端执行下述语句完成环境变量的设置。

1
source ~/.bashrc

验证安装是否成功

显示nvidia版本

1
2
3
4
5
6
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr_3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0

显示驱动版本以及GPU的内存信息

 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
Thu Apr  20 14:50:26 2023       
+----------------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03    Driver Version: 530.41.03    CUDA Version: 12.1          |
|------------------------------------+----------------------+----------------------+
| 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  NVIDIA GeForce RTX 3060    Off| 0000:01:00.0      On |                  N/A |
| 33%   33C    P8          19W / 170W|    253MiB / 12288MiB |      4%      Default |
|                                    |                      |                  N/A |
+------------------------------------+----------------------+----------------------+

+----------------------------------------------------------------------------------+
| Processes:                                                                       |   
|  GPU    GI   CI    PID  Type  Process name                            GPU Memory |
|         ID   ID                                                       Usage      |
|==================================================================================|
|    0    N/A  N/A   2059  G   /usr/lib/xorg/Xorg                           163MiB |
|    0    N/A  N/A   2280  G   /usr/bin/gnome-shell                          83MiB |
|    0    N/A  N/A   1512  G   ...gnu/webkit2gtk-4.0/WebKitWebProcess         4MiB |
+----------------------------------------------------------------------------------+

可能出现的问题

  1. 安装完成后,下次登录系统的时候出现循环登录而进不去图形界面。
1
这种情况一般情况下是显卡驱动不是最新版本造成的,建议安装最新版本的显卡驱动。

参考资料