Ubuntu 18.04、CUDA 10.1、libcudnn 7.5.1 和 NVIDIA 418.67 驱动程序

Ubuntu 18.04、CUDA 10.1、libcudnn 7.5.1 和 NVIDIA 418.67 驱动程序

我有一台配备 NVIDIA 卡的系统,其计算支持为 3.5+,相比之下https://developer.nvidia.com/cuda-gpus. 如何在 Ubuntu 中安装 CUDA 和 NVIDIA 驱动程序,而无需从 NVIDIA 下载 .deb 文件?

答案1

Ubuntu 18.04、CUDA 10.1、libcudnn 7.5.1 和 NVIDIA 418.67 驱动程序


笔记

  • 2021-01-07:请使用下面的 20.04 安装继续,因为 18.04 和 20.04 的步骤相同。

  • 2019-06-23:最近更新了 CUDA 10.0 或 10.1 版本,随其安装的 NVIDIA 418.67 驱动程序不再包含 32 位库,这将导致 Steam 和大多数游戏无法再运行。该版本libnvidia-gl-418:i386仅安装 418.56 版本,无法与 418.67 驱动程序配合使用。希望 NVIDIA 能尽快发布更新。我已在本答案底部添加了信息,说明.run file install如何仅下载 CUDA 安装程序的运行文件,然后您可以使用任何您想要的驱动程序。 运行文件大小为 2.3GB,因此下载可能需要一点时间。

  • CUDA 9.x 无法通过 NVIDIA 的 ubuntu1804 repo 获得。不过,我确实在以下网址为 CUDA 9.2 写了一篇答案:https://askubuntu.com/a/1086993/231142


通过存储库安装 CUDA(而不是安装.deb

您可以将以下行复制并粘贴到终端窗口。按Ctrl+ Alt+T打开终端窗口。

删除并更新

删除所有可能已安装的 CUDA PPA,并删除nvidia-cuda-toolkit已安装的:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit

建议在安装新驱动程序之前删除所有 NVIDIA 驱动程序:

sudo apt remove --autoremove nvidia-*

然后更新系统:

sudo apt update

添加并安装

最近,我刚刚发现 CUDA 安装可以与之配合使用,graphics-drivers ppa因此如果您尚未添加它,请立即添加:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

安装 NVIDIA 驱动程序。为此,我们将使用 440 驱动程序

sudo apt install nvidia-driver-440

现在,安装密钥:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

添加存储库:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

再次更新系统:

sudo apt update

安装 CUDA 10.1:

sudo apt install cuda-10-1

它应该会安装 NVIDIA 418.40 驱动程序,因为这些驱动程序在 repo 中列出。请参阅: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/

安装libcudnn7 7.5.1:

sudo apt install libcudnn7

调整环境并重启

将以下行添加到~/.profileCUDA 10.1 的文件中

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

重新启动计算机。

检查您的设置

使用以下方法检查 NVIDIA Cuda 编译器nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

检查 libcudnn 版本/sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn

terrance@terrance-ubuntu:~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn.so.7 -> libcudnn.so.7.5.1

使用以下命令检查 NVIDIA 驱动程序nvidia-smi

terrance@terrance-ubuntu:~$ nvidia-smi
Wed Jan 29 12:41:02 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.48.02    Driver Version: 440.48.02    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 750 Ti  Off  | 00000000:02:00.0  On |                  N/A |
| 40%   34C    P0     1W /  38W |    163MiB /  2000MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1993      G   /usr/lib/xorg/Xorg                           158MiB |
|    0      2502      G   compton                                        1MiB |
+-----------------------------------------------------------------------------+

.run文件安装

安装驱动程序

通过使用,sudo add-apt-repository ppa:graphics-drivers/ppa您可以安装430.26最新的驱动程序或任何适合您的驱动程序。

安装 libcudnn7

添加 Repo:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

安装密钥:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

更新系统:

sudo apt update

安装libcudnn7.5.1:

sudo apt install libcudnn7

下载.run文件

现在cuda_10.1.105_418.39_linux.run从下载https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

如果您想要 CUDA 10.2,下载说明如下: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal 然后按照下面相同的步骤进行,但确保更新到 10.2 而不是 10.1。

然后运行安装程序:

sudo sh cuda_10.1.105_418.39_linux.run

在此屏幕上输入 accept 并按 Enter 键:

┌──────────────────────────────────────────────────────────────────────────────┐
│  End User License Agreement                                                  │
│  --------------------------                                                  │
│                                                                              │
│                                                                              │
│  Preface                                                                     │
│  -------                                                                     │
│                                                                              │
│  The Software License Agreement in Chapter 1 and the Supplement              │
│  in Chapter 2 contain license terms and conditions that govern               │
│  the use of NVIDIA software. By accepting this agreement, you                │
│  agree to comply with all the terms and conditions applicable                │
│  to the product(s) included herein.                                          │
│                                                                              │
│                                                                              │
│  NVIDIA Driver                                                               │
│                                                                              │
│                                                                              │
│  Description                                                                 │
│                                                                              │
│  This package contains the operating system driver and                       │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit):                         │
│ accept                                                                       

取消选择驱动程序,然后使用箭头键和空格键移动并选择或取消选择来选择安装:

┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 418.39                                                              │
│ + [X] CUDA Toolkit 10.1                                                      │
│   [X] CUDA Samples 10.1                                                      │
│   [X] CUDA Demo Suite 10.1                                                   │
│   [X] CUDA Documentation 10.1                                                │
│   Install                                                                    │
│   Options                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

等待安装完成,过程中可能会出现错误,但不必担心。

调整环境并重启

将以下行添加到~/.profileCUDA 10.1 的文件中

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

重新启动系统以使更改生效。

答案2

Ubuntu 20.04 LTS、CUDA 11.5.0、NVIDIA 495 和 libcudnn 8.0.4


我不建议安装 CUDA 附带的 NVIDIA 驱动程序,因为它们不包含可延续到新内核升级的 dkms 驱动程序。

Ubuntu 存储库现在包含与graphics-driversPPA 相同的驱动程序。因此请随意安装495.44驱动程序。

sudo apt install nvidia-driver-495

重新启动系统以使新的驱动程序生效。

现在,从 NVIDIA 下载 CUDA 11.5.0 .run 文件:

wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run

运行.run文件如下sudo

sudo sh ./cuda_11.5.0_495.29.05_linux.run

如果您得到以下信息,只需选择Continue

┌──────────────────────────────────────────────────────────────────────────────┐
│ Existing package manager installation of the driver found. It is strongly    │
│ recommended that you remove this before continuing.                          │
│ Abort                                                                        │
│ Continue                                                                     │

接受 EULA:

┌──────────────────────────────────────────────────────────────────────────────┐
│  End User License Agreement                                                  │
│  --------------------------                                                  │
│                                                                              │
│  NVIDIA Software License Agreement and CUDA Supplement to                    │
│  Software License Agreement. Last updated: October 8, 2021                   │
│                                                                              │
│  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: October 8, 2021.                                              │
│                                                                              │
│                                                                              │
│  Preface                                                                     │
│  -------                                                                     │
│                                                                              │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit):                         │
│ accept                                                                       

[X] Driver在突出显示时按空格键取消选择视频驱动程序:

┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 495.29.05                                                           │
│ + [X] CUDA Toolkit 11.5                                                      │
│   [X] CUDA Samples 11.5                                                      │
│   [X] CUDA Demo Suite 11.5                                                   │
│   [X] CUDA Documentation 11.5                                                │
│   Options                                                                    │
│   Install                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

然后按向下箭头Install。按Enter然后等待安装完成。

安装完成后,将以下内容添加到您的底部~/.profile或将其添加到/etc/profile.d/cuda.sh您可能必须为所有用户(全局)创建的文件中:

# set PATH for cuda 11.5 installation
if [ -d "/usr/local/cuda-11.5/bin/" ]; then
    export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

安装 libcudnn8

添加 Repo:

笔记NVIDIA 的 20.04 repo 不提供 libcudnn,但 18.04 repo 提供并可以完美安装到 20.04 中。

echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda_learn.list

安装密钥:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

更新系统:

sudo apt update

安装 libcudnn 8.0.4:

sudo apt install libcudnn8

我建议现在重新启动系统以使更改生效。

重新启动后检查安装:

~$ nvidia-smi
Thu Nov 18 07:31:31 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| 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 ...  Off  | 00000000:01:00.0  On |                  N/A |
| 40%   38C    P8     1W /  38W |    310MiB /  2000MiB |      4%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2091      G   /usr/lib/xorg/Xorg                 46MiB |
|    0   N/A  N/A      2680      G   /usr/lib/xorg/Xorg                163MiB |
|    0   N/A  N/A      2906      G   compton                             1MiB |
|    0   N/A  N/A      3262      G   /opt/waterfox/waterfox             85MiB |
+-----------------------------------------------------------------------------+

并检查 CUDA 安装:

~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Sep_13_19:13:29_PDT_2021
Cuda compilation tools, release 11.5, V11.5.50
Build cuda_11.5.r11.5/compiler.30411180_0

并检查 libcudnn 安装:

~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.0.4
    libcudnn.so.8 -> libcudnn.so.8.0.4
    libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.0.4
    libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.0.4
    libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.0.4
    libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.0.4
    libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.0.4

答案3

对我有用的 22.04 LTS 说明:

安装 nvidia 驱动:

sudo apt install nvidia-utils-525  # change version number to the new one...
sudo apt install nvidia-driver-525
sudo shutdown -r now # restart 
sudo apt autoremove # just for good measure, clean up
nvidia-smi # check that the system can find the driver and list the gpus
nvidia-settings  # to check current usage, etc.

安装 Cuda 而不卸载刚刚选择的 nvidia 驱动程序:

找到你需要的cuda版本:developer.nvidia.com/cuda-downloads

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda

对我来说,这是获得我想要的 nvidia 驱动程序和我想要的 cuda 版本的唯一方法,同时仍然能够使用nvidia-sminvidia-settings。如果我安装nvidia-cuda-toolkit,它会卸载我选择的实用程序和驱动程序并禁用nvidia-smi

答案4

对于使用 AWS 深度学习基础 AMI 的任何人:
该映像内置了多个 NVIDIA CUDA 环境,默认情况下与其中一个环境一起使用(在我的情况下是 10),但您可以通过更改符号链接切换到任何其他环境:

$ sudo rm /usr/local/cuda
$ sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda

更多信息:
https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-base.html

相关内容