如何在 Ubuntu 20.10 上安装 CUDA 11 并验证安装

B0r*_*rk4 15 nvidia cuda drivers 20.10

在 Ubuntu 20.10 上安装 CUDA 似乎有几种选择:它与 20.10 预捆绑,官方 NVIDIA 页面上有各种安装程序等。

问题:在 Ubuntu 20.10 上安装 CUDA 11.X 的推荐方法是什么,我如何验证安装?

B0r*_*rk4 18

安装英伟达驱动

这可能是一个可选步骤,但最好先删除以前安装的潜在 NVIDIA 驱动程序:

sudo apt-get purge *nvidia*
sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)

接下来,让我们安装最新的驱动程序:

sudo apt install nvidia-driver-455
Run Code Online (Sandbox Code Playgroud)

在此之后,我们需要重新启动计算机以完成驱动程序安装。接下来我们可以验证驱动是否安装成功:

nvidia-smi
Run Code Online (Sandbox Code Playgroud)

这应包含以下内容或类似内容:

NVIDIA-SMI 455.28 驱动程序版本:455.28

安装 CUDA 工具包

接下来我们可以安装 CUDA 工具包:

sudo apt install nvidia-cuda-toolkit

Run Code Online (Sandbox Code Playgroud)

我们还需要设置 CUDA_PATH。添加这个

export CUDA_PATH=/usr
Run Code Online (Sandbox Code Playgroud)

在你的最后.bashrc运行

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

现在您的 CUDA 安装应该已经完成​​,并且

nvidia-smi
Run Code Online (Sandbox Code Playgroud)

应该表明您已安装 CUDA 11.1。

测试CUDA工具包安装/配置

验证 CUDA 是否正确安装的最佳方法之一是使用官方的“CUDA-sample”。Ubuntu 没有将它们打包为“nvidia-cuda-toolkit”的一部分,但我们可以直接从 NVIDIA 的 github 页面下载它们:

wget https://github.com/NVIDIA/cuda-samples/archive/v11.1.tar.gz
tar xvf v11.1.tar.gz 
cd cuda-samples-11.1
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,NVIDIA 并没有选择包含现代构建系统(例如 cmake),而是提供了一个普通的旧 Makefile。如果仅运行“make”对您不起作用,请仔细阅读错误消息并查看是否未安装某些必需的依赖项。

为了稍微帮助构建过程,建议指定 GPU 的计算架构。

  1. 您可以通过运行找到您的 GPU nvidia-smi。我的是 Quadro RTX 3000。
  2. 接下来谷歌你的 GPU 以找出相应的计算架构。对于 Quadro RTX 3000,它是“图灵”,版本 7.5。
  3. 运行make时指定架构版本,例如
make SMS="75"
Run Code Online (Sandbox Code Playgroud)

如果编译成功,您可以尝试其中一个示例。例如:

./bin/x86_64/linux/release/immaTensorCoreGemm 
Run Code Online (Sandbox Code Playgroud)

您应该会看到以下或类似的输出:

M: 4096 (16 x 256)
N: 4096 (16 x 256)
K: 4096 (16 x 256)
Preparing data for GPU...
Required shared memory size: 64 Kb
Computing... using high performance kernel compute_gemm_imma 
Time: 6.030176 ms
TOPS: 22.79
Run Code Online (Sandbox Code Playgroud)

  • 您可能需要引用“\*nvidia\*”,这样当前工作目录中名称中带有“nvidia”的任何文件都不会扰乱命令。 (2认同)
  • 这将安装比其余安装版本低的 nvcc。这并非没有问题,例如 https://github.com/NVIDIA/cuda-samples/issues/57,旧的 nvcc 无法编译新的 (v11.2) 代码。 (2认同)
  • sudo apt install nvidia-cuda-toolkit 在 Ubuntu 20.04 上安装 cuda 10.1。不是 Cuda 11 (2认同)

YAM*_*AMM 11

由于到目前为止我发现的所有解释都不能令人满意,以下是我想出的使用 cuda 安装最新 nvidia 驱动程序(465)的步骤11.3

首先你必须卸载所有cuda和nvidia相关的驱动程序和软件包

sudo apt-get purge nvidia-*
sudo apt-get purge cuda*
sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)

然后

reboot
Run Code Online (Sandbox Code Playgroud)

然后(如果尚未完成)禁用 nouveau,如下所述: https: //askubuntu.com/a/951892/634048reboot再次

下载cuda并安装。

wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run
Run Code Online (Sandbox Code Playgroud)

按照CUDA Toolkit Installation Guide for Linux中的安装后说明进行操作。这涉及更新 PATH 和环境变量:

export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64\
                 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Run Code Online (Sandbox Code Playgroud)

重要的是如果您需要 32 位支持 - 有几个应用程序只能使用 32 位驱动程序运行(例如 steam)

选择不安装用于 cuda 安装的 nvidia 驱动程序,并从此处安装驱动程序: https: //www.nvidia.com/download/driverResults.aspx/171980/en-us 还要检查驱动程序是否与您的型号兼容!(一般情况应该是这样)

sudo sh 'NVIDIA-Linux-x86_64-465.19.01.run' 
Run Code Online (Sandbox Code Playgroud)

并在询问时选择支持 32 位

完毕

我没有测试它的任何其他版本20.04,但它应该适用18.0421.04

  • 感谢您的投入,效果很好!然而 11.4 版本已经发布,因此最好从您的帖子中删除特定于版本的建议。除了runfile之外,还有更多的安装方法,可以在这里找到:https://developer.nvidia.com/cuda-downloads。另外,将导出变量添加到 ~/.bashrc 可以防止它们在重新启动时丢失 (2认同)