编辑:我在下面为 Ubuntu 20.04 LTS 和 CUDA 11.1.1 添加了一个新答案。见下文。
我有一个带有 NVIDIA 卡的系统,与https://developer.nvidia.com/cuda-gpus相比,它的计算支持为 3.5+ 。如何在不从 NVIDIA 下载 .deb 文件的情况下在 Ubuntu 中安装 CUDA 和 NVIDIA 驱动程序?
Ter*_*nce 79
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 存储库获得。然而,我确实在https://askubuntu.com/a/1086993/231142 上为 CUDA 9.2 写了一个答案
.deb安装)您可以将以下几行复制并粘贴到终端窗口。按Ctrl+ Alt+T打开一个终端窗口。
删除任何可能设置的 CUDA PPA,并删除nvidia-cuda-toolkit如果已安装:
sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)
建议在安装新驱动程序之前也删除所有 NVIDIA 驱动程序:
sudo apt remove --autoremove nvidia-*
Run Code Online (Sandbox Code Playgroud)
然后更新系统:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
最近,我刚刚发现 CUDA 安装与 CUDA 一起工作,graphics-drivers ppa所以如果你没有添加它,现在添加它:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装 NVIDIA 驱动程序。为此,我们将使用 440 驱动程序
sudo apt install nvidia-driver-440
Run Code Online (Sandbox Code Playgroud)
现在,安装密钥:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Run Code Online (Sandbox Code Playgroud)
添加回购:
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'
Run Code Online (Sandbox Code Playgroud)
再次更新系统:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装 CUDA 10.1:
sudo apt install cuda-10-1
Run Code Online (Sandbox Code Playgroud)
它应该安装 NVIDIA 418.40 驱动程序,因为那些是在 repo 中列出的。请参阅:http : //developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/
安装 libcudnn7 7.5.1:
sudo apt install libcudnn7
Run Code Online (Sandbox Code Playgroud)
~/.profile将以下行添加到您的 CUDA 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
Run Code Online (Sandbox Code Playgroud)
重新启动计算机。
检查 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
Run Code Online (Sandbox Code Playgroud)
检查 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
Run Code Online (Sandbox Code Playgroud)
检查 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 Code Online (Sandbox Code Playgroud)
.run 文件安装通过使用,sudo add-apt-repository ppa:graphics-drivers/ppa您可以安装430.26最新的驱动程序或任何适合您的驱动程序。
添加回购:
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'
Run Code Online (Sandbox Code Playgroud)
安装密钥:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Run Code Online (Sandbox Code Playgroud)
更新系统:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装 libcudnn7.5.1:
sudo apt install libcudnn7
Run Code Online (Sandbox Code Playgroud)
.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
Run Code Online (Sandbox Code Playgroud)
在此屏幕上输入接受并按回车键:
????????????????????????????????????????????????????????????????????????????????
? 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
Run Code Online (Sandbox Code Playgroud)
取消选择驱动程序,然后使用箭头键和空格键移动并选择或取消选择安装:
????????????????????????????????????????????????????????????????????????????????
? 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 ?
Run Code Online (Sandbox Code Playgroud)
等待安装完成,期间可能会提示错误,但不用担心。
~/.profile将以下行添加到您的 CUDA 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
Run Code Online (Sandbox Code Playgroud)
重新启动系统以使更改生效。
Ter*_*nce 12
注意:此处 NVIDIA 的 repo 已决定推送 410 驱动程序。我会做一些测试,看看我是否可以将它设置为您要安装的驱动程序。
这些说明用于通过存储库而不是安装来安装 CUDA .deb。
您可以将以下几行复制并粘贴到终端窗口。按Ctrl+ Alt+T打开一个终端窗口。
删除任何可能设置的 CUDA PPA,并删除nvidia-cuda-toolkit如果已安装:
sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)
建议在安装新驱动程序之前也删除所有 NVIDIA 驱动程序:
sudo apt remove nvidia-*
Run Code Online (Sandbox Code Playgroud)
然后更新系统:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装密钥:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
Run Code Online (Sandbox Code Playgroud)
添加回购:
sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
Run Code Online (Sandbox Code Playgroud)
添加的新存储库的更新:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装 CUDA 9.2:
sudo apt install cuda-9-2
Run Code Online (Sandbox Code Playgroud)
它应该安装 nvidia-396 驱动程序,因为这些驱动程序在 repo 中列出。请参阅:http : //developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/
验证是否安装了 CUDA 9.2:
~$ ls /usr/local/cuda-9.2/
bin include libnvvp nvml samples targets
doc lib64 LICENSE nvvm share tools
extras libnsight nsightee_plugins README src version.txt
Run Code Online (Sandbox Code Playgroud)
现在,将以下内容添加到您~/.profile的PATH和LD_LIBRARY. 您可以使用以下命令gedit ~/.profile进行编辑:
# set PATH for cuda 9.2 installation
if [ -d "/usr/local/cuda-9.2/bin/" ]; then
export PATH=/usr/local/cuda-9.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi
Run Code Online (Sandbox Code Playgroud)
重新启动系统。
sudo reboot
Run Code Online (Sandbox Code Playgroud)
系统启动后,您可以通过键入以下内容来验证安装:
nvcc -V
Run Code Online (Sandbox Code Playgroud)
您应该会看到类似以下内容:
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85
Run Code Online (Sandbox Code Playgroud)
您应该会看到已396.xx安装的驱动程序:
~$ nvidia-smi
Thu May 17 07:38:54 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44 Driver Version: 396.44 |
|-------------------------------+----------------------+----------------------+
| 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 760 Off | 00000000:02:00.0 N/A | N/A |
| 49% 53C P0 N/A / N/A | 187MiB / 1999MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
我不建议安装 CUDA 附带的 NVIDIA 驱动程序,因为它们不包含可用于新内核升级的 dkms 驱动程序。
如果您尚未设置`graphics-drivers` PPA,请立即将其添加到您的系统并删除所有以前的 NVIDIA 驱动程序。
Ubuntu 存储库现在包含与graphics-driversPPA相同的驱动程序。所以请随意安装460.39驱动程序。
sudo apt install nvidia-driver-460
Run Code Online (Sandbox Code Playgroud)
现在,从 NVIDIA 下载 CUDA 11.2.0 .run 文件:
wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
Run Code Online (Sandbox Code Playgroud)
我喜欢让它可执行:
chmod +x cuda_11.2.0_460.27.04_linux.run
Run Code Online (Sandbox Code Playgroud)
现在安装CUDA:
sudo ./cuda_11.2.0_460.27.04_linux.run
Run Code Online (Sandbox Code Playgroud)
接受 EULA:
????????????????????????????????????????????????????????????????????????????????
? End User License Agreement ?
? -------------------------- ?
? ?
? NVIDIA Software License Agreement and CUDA Supplement to ?
? Software 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 ?
? ?
? ?
????????????????????????????????????????????????????????????????????????????????
? Do you accept the above EULA? (accept/decline/quit): ?
? accept
Run Code Online (Sandbox Code Playgroud)
在[X] Driver突出显示时按空格键取消选择驱动程序:
????????????????????????????????????????????????????????????????????????????????
? CUDA Installer ?
? - [ ] Driver ?
? [ ] 460.27.04 ?
? + [X] CUDA Toolkit 11.2 ?
? [X] CUDA Samples 11.2 ?
? [X] CUDA Demo Suite 11.2 ?
? [X] CUDA Documentation 11.2 ?
? Options ?
? Install ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options ?
Run Code Online (Sandbox Code Playgroud)
然后按向下箭头Install。按Enter然后等待安装完成。
安装完成后,将以下内容添加到您的底部~/.profile或将其添加到/etc/profile.d/cuda.sh您可能必须为所有用户(全局)创建的文件中:
# set PATH for cuda 11.2 installation
if [ -d "/usr/local/cuda-11.2/bin/" ]; then
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi
Run Code Online (Sandbox Code Playgroud)
安装 libcudnn8
添加回购:
注意:来自 NVIDIA 的 20.04 存储库不提供 libcudnn,但 18.04 存储库提供并安装到 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
Run Code Online (Sandbox Code Playgroud)
安装密钥:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Run Code Online (Sandbox Code Playgroud)
更新系统:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装 libcudnn 8.0.4:
sudo apt install libcudnn8
Run Code Online (Sandbox Code Playgroud)
我建议现在重新启动系统以使更改生效。
重新启动后检查安装:
$ nvidia-smi
Sat Apr 10 15:13:48 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce GTX 750 Ti On | 00000000:01:00.0 On | N/A |
| 42% 50C P0 2W / 38W | 153MiB / 2000MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 4976 G /usr/lib/xorg/Xorg 129MiB |
| 0 N/A N/A 5393 G compton 1MiB |
| 0 N/A N/A 672363 G ...AAAAAAAAA= --shared-files 17MiB |
+-----------------------------------------------------------------------------+
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:08:53_PST_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293
~$ /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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108855 次 |
| 最近记录: |