01
介绍
NVIDIA 计算软件 “堆栈” 包含多种系统软件或基础设施软件产品,这些产品用于配置了 NVIDIA GPU 的系统,能够运行加速的 AI 或高性能计算工作负载。下图展示了 CUDA 及相关组件的软件架构图:
图1. CUDA工具包及相关产品概述
虽然 NVIDIA 提供了非常丰富的软件平台,包括 SDK、框架和应用程序,但本文档的重点是驱动程序、CUDA 工具包和深度学习库。
02
驱动程序生命周期
自 2019 年起,NVIDIA 为数据中心 GPU 驱动程序引入了新的企业软件生命周期。
1. 新功能分支
主要功能发布,以新的分支 X 号表示。针对希望评估新功能(例如新的 CUDA API )的早期采用者。请注意,这些驱动程序在某些情况下也可能与 CUDA 工具包安装程序包一起发布。
发布节奏:新驱动程序分支大约每季度发布一次。
2. 生产分支
针对企业/数据中心 GPU 的生产使用而经过认证的分支。提供长达 1 年的错误修复和安全更新。
发布节奏:每年发布两个驱动程序分支(大约每六个月一次)。
请注意,在生产分支的生命周期内,每季度发布错误修复和安全更新。
3. 长期支持分支
一个生产分支,其支持和维护时间远长于普通生产分支。每个 LTSB(长期支持分支)都是一个生产分支,但不是每个生产分支都是 LTSB 。希望从其部署的分支获得更长支持周期的客户将通过 LTSB 版本获得该支持。LTSB 版本将在其支持的 3 年期间,通过次要版本发布错误更新和关键安全更新。
图2. NVIDIA驱动程序分支分类
4. 驱动程序分支比较
下表总结了不同驱动程序分支之间的差异。
|
|
新功能分支 (NFB) |
生产分支 (PB) |
长期支持分支 (LTSB) |
|
目标客户 |
希望评估新功能的早期采用者 |
用于企业/数据中心GPU的生产使用 |
用于企业/数据中心GPU的生产使用和希望获得更长支持周期的客户。 |
|
主要发布节奏 |
至少每 3 个月一次 |
每年两次 |
至少每硬件架构一次 |
|
支持时长 |
不适用 |
1年 |
3年 |
|
次要版本(错误更新和关键安全更新) |
不适用 |
是的,每季度发布错误和安全更新 |
是的,每季度发布错误和安全更新 |
表1. NVIDIA驱动程序分支
注:以上仅为一般指导。实际的安全更新和发布节奏可能会根据 NVIDIA 的自行决定而改变。
03
当前的驱动程序和 CUDA 工具包版本
NVIDIA 以不同的节奏发布 CUDA 工具包和 GPU 驱动程序,下表列出了当前 CUDA 工具包和 NVIDIA 数据中心驱动程序的支持矩阵。
|
|
R470 |
R535 |
R550 |
|
分支指定 |
长期支持分支 |
长期支持分支 |
生产分支 |
|
终止支持日期 |
2024年7月 |
2026年6月 |
2025年2月 |
|
支持的最大 CUDA 版本 |
CUDA 11.0+ 此驱动程序分支支持 CUDA 11.x (通过CUDA次要版本兼容性) |
CUDA 12.0+ 此驱动程序分支支持CUDA 12.x(通过CUDA次要版本兼容性) |
CUDA 12.0+ 此驱动程序分支支持CUDA 12.x(通过CUDA次要版本兼容性) |
表2. CUDA和驱动程序
注:上表中未列出的所有其他先前驱动程序分支(如R525、R515、R510、R495、R465、R460、R455、R450、R440、R418、R410)均已终止支持。
04
驱动程序安装和部署
CUDA软件环境由三部分组成:
CUDA 工具包(库、运行时和工具) - 用于构建 CUDA 应用程序的用户模式 SDK
CUDA 驱动程序 - 用于运行 CUDA 应用程序的用户模式驱动程序(例如在 Linux 系统上的 libcuda.so)
NVIDIA GPU 设备驱动程序 - NVIDIA GPU 的内核模式驱动程序
在Linux系统上,CUDA驱动程序和内核模式组件一起在NVIDIA显示驱动程序包中交付,如下图所显示。
图3. CUDA
当 GPU 节点仅用于运行应用程序(而不是开发应用程序)时,CUDA 工具包通常是可选的,因为 CUDA 应用程序通常打包(通过静态或动态链接)所需的 CUDA 运行时和库。
在 GPU 服务器上安装数据中心 GPU 驱动程序的步骤包括:
安装 NVIDIA 驱动程序(不要安装 CUDA 工具包,因为这会带来可能不必要或不需要的其他依赖项)
安装 CUDA 工具包。这提供了对系统上安装内容的额外控制。
根据应用程序需求和依赖关系,安装其他组件如 cuDNN 或 TensorRT 。
1. 数据中心驱动程序安装
数据中心驱动程序的安装详细步骤可通过扫描文末二维码查阅。NVIDIA 为驱动程序提供了特定于 Linux 发行版的软件包,客户可以使用这些软件包将驱动程序部署到生产环境中。上面的链接提供了有关如何为受支持的 Linux 发行版安装驱动程序软件包的详细信息和步骤,但下面提供了摘要。
2. CUDA 工具包安装
CUDA 工具包软件包是模块化的,用户可以控制系统上安装的 CUDA 工具包组件。CUDA 支持许多包,这些元可通过扫描文末二维码找到。
由于 cuda 或 cuda- 软件包还会安装驱动程序,这些软件包可能不适合数据中心部署。
相反,应该使用其他软件包如 cuda-toolkit- ,因为此软件包不依赖于驱动程序。以下示例仅安装 CUDA 工具包 11.4 软件包,不安装驱动程序。
$ sudo apt-get -y install cuda-toolkit-11-4
|
软件包 |
功能 |
|
cuda |
安装所有 CUDA 工具包和驱动程序软件包。处理升级到发布时的下一个 cuda 软件包版本。 |
|
cuda-11-4 |
安装所有 CUDA 工具包和驱动程序软件包。保持在 11.4版本,直到安装 CUDA 的附加版本。 |
|
cuda-toolkit-11-4 |
安装构建 CUDA 应用程序所需的所有 CUDA 工具包软件包。不包括驱动程序。 |
|
cuda-tools-11-4 |
安装所有 CUDA 命令行和可视化工具。 |
|
cuda-runtime-11-4 |
安装运行 CUDA 应用程序所需的所有 CUDA 工具包软件包,以及驱动程序软件包。 |
|
cuda-compiler-11-4 |
安装所有 CUDA 编译器软件包。 |
|
cuda-libraries-11-4 |
安装所有运行时 CUDA 库软件包。 |
|
cuda-libraries-dev-11-4 |
安装所有开发 CUDA 库软件包。 |
|
cuda-drivers |
安装所有驱动程序软件包。处理升级到发布时的下一个驱动程序软件包版本。 |
表3. 支持的CUDA元包
3. cuDNN安装
NVIDIA cuDNN 也可以使用 Linux 软件包管理器从 CUDA 网络存储库安装,方法是使用 libcudnn 和 libcudnn-dev 软件包。在受支持的 Linux 发行版上,一些示例如下:
$ CUDNN_VERSION=8.1.1.33 \&& sudo apt-get -y install \libcudnn8=$CUDNN_VERSION-1+cuda11.2 libcudnn8-dev=$CUDNN_VERSION-1+cuda11.2
05
软件支持矩阵
CUDA 驱动程序提供了向后兼容的 API。因此,新 NVIDIA 驱动程序将始终与(使用较旧的 CUDA 工具包编译的)应用程序一起工作,详细的记录可通过扫描文末二维码进行查看。然而,每个 CUDA 工具包都需要 NVIDIA 驱动程序的最低版本。相应地,当使用诸如 nvidia-smi 之类的工具时,NVIDIA 驱动程序报告支持的 CUDA 的最大版本,因此能够运行使用该版本的 CUDA 工具包构建的应用程序。
CUDA 工具包和驱动程序在其产品生命周期内可能还会弃用和停止对 GPU 架构的支持。有关 CUDA 编译器(nvcc)工具链文档中 -arch 和 -gencode 选项的详细信息,请扫描文末二维码查看。
|
架构 |
CUDA 功能 |
首个 CUDA工具包支持 |
最后一个CUDA工具包支持 |
最后一个驱动程序支持 |
|
Fermi |
2.0 |
CUDA 3.0 |
CUDA 8.0 |
R390 |
|
Kepler |
3.0 3.2 |
CUDA 6.0 |
CUDA 10.2 |
R470 |
|
Kepler |
3.5 3.7 |
CUDA 6.0 |
CUDA 11.x |
R470 |
|
Maxwell |
5.0 5.2 5.3 |
CUDA 6.5 |
正在支持中 |
正在支持中 |
|
Pascal |
6.0 6.1 |
CUDA 8.0 |
正在支持中 |
正在支持中 |
|
Volta |
7.0 |
CUDA 9.0 |
正在支持中 |
正在支持中 |
|
Turing |
7.5 |
CUDA 10.0 |
正在支持中 |
正在支持中 |
|
Ampere |
8.0 8.6 |
CUDA 11.0 |
正在支持中 |
正在支持中 |
|
Ada |
8.9 |
CUDA 11.8 |
正在支持中 |
正在支持中 |
|
Hopper |
9.0 |
CUDA 11.8 CUDA 12.0 |
正在支持中 |
正在支持中 |
表4. CUDA和架构矩阵
←
←
文末二维码,
长按扫描可了解更多!

