借助 R515 驅(qū)動(dòng)程序,NVIDIA 于 2022 年 5 月發(fā)布了一套開(kāi)源的 Linux GPU 內(nèi)核模塊,該模塊采用雙許可證,即 GPL 和 MIT 許可。初始版本主要面向數(shù)據(jù)中心計(jì)算 GPU,而 GeForce 和工作站 GPU 則處于 Alpha 狀態(tài)。
當(dāng)時(shí),我們宣布,在后續(xù)版本中將提供更可靠、功能齊全的 GeForce 和工作站 Linux 支持,NVIDIA 開(kāi)放內(nèi)核模塊最終將取代閉源驅(qū)動(dòng)。
NVIDIA GPU 共享一個(gè)通用的驅(qū)動(dòng)程序架構(gòu)和功能集。您的臺(tái)式機(jī)或筆記本電腦所使用的相同驅(qū)動(dòng)程序能夠在云端運(yùn)行世界上最先進(jìn)的 AI 工作負(fù)載,對(duì)我們來(lái)說(shuō),把它做到恰到好處一直都極其重要。
兩年過(guò)去了,我們利用開(kāi)源的 GPU 內(nèi)核模塊實(shí)現(xiàn)了與原來(lái)的應(yīng)用程序性能相當(dāng)或更好的性能,并添加了大量新的功能。
異構(gòu)內(nèi)存管理 (HMM) 支持
機(jī)密計(jì)算
Grace 平臺(tái)的連貫內(nèi)存架構(gòu)
其他功能
現(xiàn)在,我們處于完全過(guò)渡到開(kāi)源 GPU 內(nèi)核模塊的時(shí)刻。在即將發(fā)布的 R560 驅(qū)動(dòng)版本中,我們將作出這一改動(dòng)。
支持的 GPU
并不是每個(gè) GPU 都能與開(kāi)源 GPU 內(nèi)核模塊兼容。
對(duì)于 NVIDIA Grace Hopper 或 NVIDIA Blackwell 等尖端平臺(tái),您必須使用開(kāi)源的 GPU 內(nèi)核模塊,因?yàn)檫@些平臺(tái)不支持專(zhuān)有的驅(qū)動(dòng)程序。
對(duì)于來(lái)自 Turing、Ampere、Ada Lovelace 或 Hopper 架構(gòu)的較新 GPU,NVIDIA 建議將其切換到開(kāi)源的 GPU 內(nèi)核模塊。
對(duì)于 Maxwell、Pascal 或 Volta 架構(gòu)中的舊版 GPU,其開(kāi)源 GPU 內(nèi)核模塊不兼容您的平臺(tái)。因此,請(qǐng)繼續(xù)使用 NVIDIA 專(zhuān)有驅(qū)動(dòng)。
對(duì)于在同一系統(tǒng)中使用較舊和較新的 GPU 的混合部署,請(qǐng)繼續(xù)使用專(zhuān)有驅(qū)動(dòng)程序。
如果您不確定,NVIDIA 提供了一種新的檢測(cè)輔助腳本的方式,以幫助指導(dǎo)您選擇合適的驅(qū)動(dòng)程序。有關(guān)更多信息,請(qǐng)參閱本文后面的使用安裝輔助腳本部分。
安裝程序更改
通常情況下,通過(guò)各種安裝方法安裝的驅(qū)動(dòng)程序默認(rèn)版本正在從專(zhuān)有驅(qū)動(dòng)程序切換到開(kāi)源驅(qū)動(dòng)程序。這有一些特定情況值得特別注意:
具有 CUDA 元軟件包的軟件包管理器
運(yùn)行文件
安裝輔助腳本
軟件包管理器詳細(xì)信息
適用于 Linux 的 Windows 子系統(tǒng)
CUDA 工具包
將軟件包管理器與 CUDA 元軟件包結(jié)合使用
當(dāng)您使用包管理器(而非 .run 文件)安裝 CUDA 工具包時(shí),安裝元包是存在并常用的。通過(guò)安裝頂級(jí) cuda 軟件包,您將安裝 CUDA 工具包和相關(guān)驅(qū)動(dòng)版本的組合。例如,在 CUDA 12.5 發(fā)布時(shí)間范圍內(nèi)安裝 cuda 時(shí),您將獲得專(zhuān)有的 NVIDIA 驅(qū)動(dòng) 555 以及 CUDA 工具包 12.5。
圖 1 顯示此軟件包結(jié)構(gòu)。
圖 1. CUDA 工具包 12.6 之前的 CUDA 軟件包
以前,使用開(kāi)源 GPU 內(nèi)核模塊意味著您可以使用頂級(jí)元軟件包。這意味著您需要安裝發(fā)行版特定的 NVIDIA 驅(qū)動(dòng)開(kāi)放軟件包,同時(shí)還需要安裝您選擇的 cuda-toolkit-X-Y 軟件包。
從 CUDA 12.6 版本開(kāi)始,流的位置將有效切換(圖 2)。
圖 2. CUDA 工具包 12.6 版本發(fā)布后的 CUDA 軟件包
使用運(yùn)行文件
如果您使用 .run 文件安裝 CUDA 或 NVIDIA 驅(qū)動(dòng),安裝程序?qū)⒉樵?xún)您的硬件,并自動(dòng)安裝最適合您系統(tǒng)的驅(qū)動(dòng)。此外,您還可以使用 UI 開(kāi)關(guān)來(lái)選擇專(zhuān)有驅(qū)動(dòng)或開(kāi)源驅(qū)動(dòng)。
如果您通過(guò) CUDA .run 文件并使用 ncurses 用戶(hù)界面進(jìn)行安裝,現(xiàn)在將看到一個(gè)類(lèi)似于以下內(nèi)容的菜單:
CUDA Driver [ ] Do not install any of the OpenGL-related driver files [ ] Do not install the nvidia-drm kernel module [ ] Update the system X config file to use the NVIDIA X driver - [X] Override kernel module type [X] proprietary [ ] open Change directory containing the kernel source files Change kernel object output directory Done Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options
如果您通過(guò)驅(qū)動(dòng) .run 文件進(jìn)行安裝,將看到類(lèi)似的選擇(圖 3)。
圖 3. 新的運(yùn)行文件交互式選擇(驅(qū)動(dòng)安裝程序)
如果您使用 Ansible 等自動(dòng)化工具,也可以使用命令行傳遞 overrides,以在不使用用戶(hù)界面的情況下進(jìn)行安裝。
# sh ./cuda_12.6.0_560.22_linux.run --override --kernel-module-type=proprietary # sh ./NVIDIA-Linux-x86_64-560.run --kernel-module-type=proprietary
使用安裝輔助腳本
如前所述,如果您不確定為系統(tǒng)中的 GPU 選擇哪種驅(qū)動(dòng)程序,NVIDIA 創(chuàng)建了一個(gè)輔助腳本,以指導(dǎo)您完成驅(qū)動(dòng)程序的選擇過(guò)程。
要使用它,請(qǐng)首先使用包管理器安裝nvidia-driver-assistant包,然后運(yùn)行該腳本。
$ nvidia-driver-assistant
軟件包管理器詳細(xì)信息
為了獲得一致的體驗(yàn),NVIDIA 建議您使用包管理器來(lái)安裝 CUDA Toolkit 和驅(qū)動(dòng)程序。但是,不同發(fā)行版使用哪些包管理系統(tǒng)或包的結(jié)構(gòu)方式的具體細(xì)節(jié)可能因您的特定發(fā)行版而異。
本節(jié)概述了各種平臺(tái)所需的具體細(xì)節(jié)、注意事項(xiàng)和遷移步驟。
apt: 基于 Ubuntu 和 Debian 的發(fā)行版
運(yùn)行以下命令:
$ sudo apt-get install nvidia-open
要在 Ubuntu 20.04 上使用 cuda 元軟件包進(jìn)行升級(jí),請(qǐng)先切換到開(kāi)啟的內(nèi)核模塊。
$ sudo apt-get install -V nvidia-kernel-source-open $ sudo apt-get install nvidia-open
dnf: Red Hat Enterprise Linux、Fedora、Kylin、Amazon Linux 或 Rocky Linux
運(yùn)行以下命令:
$ sudo dnf module install nvidia-driver:open-dkms
要在基于 DNF 的發(fā)行版上使用 cuda 元軟件包進(jìn)行升級(jí),必須首先禁用模塊流。
$ echo "module_hotfixes=1" | tee -a /etc/yum.repos.d/cuda*.repo $ sudo dnf install --allowerasing nvidia-open $ sudo dnf module reset nvidia-driver
zypper: SUSE Linux Enterprise Server 或 OpenSUSE
運(yùn)行以下命令之一:
# default kernel flavor $ sudo zypper install nvidia-open # azure kernel flavor (sles15/x86_64) $ sudo zypper install nvidia-open-azure # 64kb kernel flavor (sles15/sbsa) required for Grace-Hopper $ sudo zypper install nvidia-open-64k
軟件包管理器摘要
為簡(jiǎn)化起見(jiàn),我們已將包管理器建議壓縮為表格格式。從驅(qū)動(dòng)版本 560 和 CUDA 工具包 12.6 開(kāi)始的所有版本都將使用這些打包規(guī)范。
表 1. 軟件包管理器安裝建議
有關(guān)更多信息,請(qǐng)參閱 NVIDIA 數(shù)據(jù)中心驅(qū)動(dòng):
https://docs.nvidia.com/datacenter/tesla/drivers/index.html
適用于 Linux 的 Windows 子系統(tǒng)
適用于 Linux 的 Windows 子系統(tǒng)(WSL)使用來(lái)自主機(jī) Windows 操作系統(tǒng)的 NVIDIA 內(nèi)核驅(qū)動(dòng)程序。因此,您不應(yīng)該專(zhuān)門(mén)為此平臺(tái)安裝任何驅(qū)動(dòng)程序。如果您使用的是 WSL,則無(wú)需進(jìn)行任何更改或操作。
CUDA 工具包
通過(guò)軟件包管理器,CUDA 工具包的安裝保持不變。請(qǐng)運(yùn)行以下命令:
$ sudo apt-get/dnf/zypper install cuda-toolkit
更多信息
如需詳細(xì)了解如何安裝 NVIDIA 驅(qū)動(dòng)程序或 CUDA 工具包,包括如果此時(shí)無(wú)法遷移到開(kāi)源 GPU 內(nèi)核模塊,如何確保安裝專(zhuān)有驅(qū)動(dòng)程序,請(qǐng)參閱《CUDA 安裝指南》中的驅(qū)動(dòng)程序安裝部分。
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4814瀏覽量
102629 - gpu
-
Linux
+關(guān)注
關(guān)注
87文章
11161瀏覽量
208460
原文標(biāo)題:NVIDIA 全面轉(zhuǎn)向開(kāi)源 GPU 內(nèi)核模塊
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論