如何選擇節(jié)點(diǎn)NVIDIA驅(qū)動版本
CUDA(Compute Unified Device Architecture)的軟件堆棧由驅(qū)動層、運(yùn)行時(shí)層和函數(shù)庫層構(gòu)成。CUDA軟件堆棧中涉及的API包括驅(qū)動層API和運(yùn)行時(shí)層API。本文介紹如何獲取驅(qū)動層API和運(yùn)行時(shí)API的版本,以及NVIDIA官方提供的CUDA Toolkit與Driver Version的兼容性列表。
CUDA介紹
CUDA是顯卡廠商N(yùn)VIDIA在2007年推出的并行計(jì)算平臺和編程模型。CUDA利用圖形處理器GPU(Graphics Processing Unit),可顯著提高計(jì)算性能。
下圖展示CUDA的架構(gòu)體系。CUDA軟件堆棧中的驅(qū)動層API和運(yùn)行時(shí)層API的區(qū)別如下。
驅(qū)動層API(Driver API):功能較完整,但是使用復(fù)雜。
運(yùn)行時(shí)API(CUDA Runtime API):封裝了部分驅(qū)動的API,將某些驅(qū)動初始化操作隱藏,使用方便。
CUDA的Driver API由NVIDIA Driver包提供,而CUDA Library和CUDA Runtime由CUDA Toolkit包提供。
獲取驅(qū)動層API版本
如果一個(gè)節(jié)點(diǎn)安裝了NVIDIA驅(qū)動包,則可以執(zhí)行nvidia-smi
查看驅(qū)動版本和CUDA驅(qū)動API版本。示例如下圖,該節(jié)點(diǎn)安裝的驅(qū)動版本為515.105.01,驅(qū)動API版本為11.7,表示該驅(qū)動最高支持CUDA運(yùn)行時(shí)API版本為11.7。
獲取運(yùn)行時(shí)API版本
在容器中運(yùn)行GPU應(yīng)用與在節(jié)點(diǎn)上運(yùn)行GPU應(yīng)用的差異點(diǎn)如下。
NVIDIA驅(qū)動安裝在節(jié)點(diǎn)。
容器鏡像中安裝CUDA Toolkit時(shí),使用NVIDIA提供的CUDA基礎(chǔ)鏡像。這些基礎(chǔ)鏡像已經(jīng)安裝了CUDA Toolkit。您可以基于基礎(chǔ)鏡像構(gòu)建應(yīng)用容器鏡像。您也可以根據(jù)不同的CUDA Toolkit版本選擇不同的CUDA基礎(chǔ)鏡像。
在容器中使用GPU場景下,應(yīng)用程序使用的CUDA運(yùn)行時(shí)API版本與該應(yīng)用的Docker鏡像使用的CUDA基礎(chǔ)鏡像版本一致。例如,您的應(yīng)用的Docker鏡像基于CUDA基礎(chǔ)鏡像NVIDIA/CUDA:12.2.0-base-Ubuntu20.04
構(gòu)建,那么應(yīng)用使用的CUDA運(yùn)行時(shí)API版本為12.2.0。
CUDA Toolkit和驅(qū)動的版本兼容性列表
下表為NVIDIA官方提供的CUDA Toolkit和驅(qū)動的版本兼容性列表(該列表并不表示ACK目前支持的驅(qū)動列表,關(guān)于ACK支持的GPU驅(qū)動版本,請參見ACK支持的NVIDIA驅(qū)動版本列表)。您可以根據(jù)您的應(yīng)用所使用的CUDA Toolkit版本,對照CUDA Toolkit與NVIDIA驅(qū)動的版本兼容性列表,選擇合適的NVIDIA驅(qū)動版本。更多信息,請參見cuda-toolkit-release-notes。
CUDA Toolkit版本 | Linux x86_64驅(qū)動版本 |
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 |
相關(guān)文檔
為節(jié)點(diǎn)安裝NVIDIA驅(qū)動時(shí),需要確保驅(qū)動版本包含在ACK支持的驅(qū)動版本列表中。詳細(xì)信息,請參見ACK支持的NVIDIA驅(qū)動版本列表。