CUDA(Compute Unified Device Architecture)的软件堆栈由驱动层、运行时层和函数库层构成。CUDA软件堆栈中涉及的API包括驱动层API和运行时层API。本文介绍如何获取驱动层API和运行时API的版本,以及NVIDIA官方提供的CUDA Toolkit与Driver Version的兼容性列表。
CUDA介绍
CUDA是显卡厂商NVIDIA在2007年推出的并行计算平台和编程模型。CUDA利用图形处理器GPU(Graphics Processing Unit),可显著提高计算性能。
下图展示CUDA的架构体系。CUDA软件堆栈中的驱动层API和运行时层API的区别如下。
驱动层API(Driver API):功能较完整,但是使用复杂。
运行时API(CUDA Runtime API):封装了部分驱动的API,将某些驱动初始化操作隐藏,使用方便。
CUDA的Driver API由NVIDIA Driver包提供,而CUDA Library和CUDA Runtime由CUDA Toolkit包提供。
获取驱动层API版本
如果一个节点安装了NVIDIA驱动包,则可以执行nvidia-smi
查看驱动版本和CUDA驱动API版本。示例如下图,该节点安装的驱动版本为515.105.01,驱动API版本为11.7,表示该驱动最高支持CUDA运行时API版本为11.7。
获取运行时API版本
在容器中运行GPU应用与在节点上运行GPU应用的差异点如下。
NVIDIA驱动安装在节点。
容器镜像中安装CUDA Toolkit时,使用NVIDIA提供的CUDA基础镜像。这些基础镜像已经安装了CUDA Toolkit。您可以基于基础镜像构建应用容器镜像。您也可以根据不同的CUDA Toolkit版本选择不同的CUDA基础镜像。
在容器中使用GPU场景下,应用程序使用的CUDA运行时API版本与该应用的Docker镜像使用的CUDA基础镜像版本一致。例如,您的应用的Docker镜像基于CUDA基础镜像NVIDIA/CUDA:12.2.0-base-Ubuntu20.04
构建,那么应用使用的CUDA运行时API版本为12.2.0。
CUDA Toolkit和驱动的版本兼容性列表
下表为NVIDIA官方提供的CUDA Toolkit和驱动的版本兼容性列表(该列表并不表示ACK目前支持的驱动列表,关于ACK支持的GPU驱动版本,请参见ACK支持的NVIDIA驱动版本列表)。您可以根据您的应用所使用的CUDA Toolkit版本,对照CUDA Toolkit与NVIDIA驱动的版本兼容性列表,选择合适的NVIDIA驱动版本。更多信息,请参见cuda-toolkit-release-notes。
CUDA Toolkit版本 | Linux x86_64驱动版本 |
CUDA 12.1 Update 1 | >=530.30.02 |
CUDA 12.1 GA | >=530.30.02 |
CUDA 12.0 Update 1 | >=525.85.12 |
CUDA 12.0 GA | >=525.60.13 |
CUDA 11.8 GA | >=520.61.05 |
CUDA 11.7 Update 1 | >=515.48.07 |
CUDA 11.7 GA | >=515.43.04 |
CUDA 11.6 Update 2 | >=510.47.03 |
CUDA 11.6 Update 1 | >=510.47.03 |
CUDA 11.6 GA | >=510.39.01 |
CUDA 11.5 Update 2 | >=495.29.05 |
CUDA 11.5 Update 1 | >=495.29.05 |
CUDA 11.5 GA | >=495.29.05 |
CUDA 11.4 Update 4 | >=470.82.01 |
CUDA 11.4 Update 3 | >=470.82.01 |
CUDA 11.4 Update 2 | >=470.57.02 |
CUDA 11.4 Update 1 | >=470.57.02 |
CUDA 11.4.0 GA | >=470.42.01 |
CUDA 11.3.1 Update 1 | >=465.19.01 |
CUDA 11.3.0 GA | >=465.19.01 |
CUDA 11.2.2 Update 2 | >=460.32.03 |
CUDA 11.2.1 Update 1 | >=460.32.03 |
CUDA 11.2.0 GA | >=460.27.03 |
CUDA 11.1.1 Update 1 | >=455.32 |
CUDA 11.1 GA | >=455.23 |
CUDA 11.0.3 Update 1 | >= 450.51.06 |
CUDA 11.0.2 GA | >= 450.51.05 |
CUDA 11.0.1 RC | >= 450.36.06 |
CUDA 10.2.89 | >= 440.33 |
CUDA 10.1 (10.1.105 general release, and updates) | >= 418.39 |
CUDA 10.0.130 | >= 410.48 |
CUDA 9.2 (9.2.148 Update 1) | >= 396.37 |
CUDA 9.2 (9.2.88) | >= 396.26 |
CUDA 9.1 (9.1.85) | >= 390.46 |
CUDA 9.0 (9.0.76) | >= 384.81 |
CUDA 8.0 (8.0.61 GA2) | >= 375.26 |
CUDA 8.0 (8.0.44) | >= 367.48 |
CUDA 7.5 (7.5.16) | >= 352.31 |
CUDA 7.0 (7.0.28) | >= 346.46 |
相关文档
为节点安装NVIDIA驱动时,需要确保驱动版本包含在ACK支持的驱动版本列表中。详细信息,请参见ACK支持的NVIDIA驱动版本列表。