0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NVIDIA全面轉(zhuǎn)向開(kāi)源GPU內(nèi)核模塊

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來(lái)源:NVIDIA英偉達(dá)企業(yè)解決方案 ? 2024-07-25 09:56 ? 次閱讀

借助 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 HopperNVIDIA 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)。

634facb2-48e1-11ef-b8af-92fbcf53809c.png

圖 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)。

636ee71c-48e1-11ef-b8af-92fbcf53809c.png

圖 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)。

6393b2f4-48e1-11ef-b8af-92fbcf53809c.png

圖 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ī)范。

63a6c3c6-48e1-11ef-b8af-92fbcf53809c.png

表 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)程序安裝部分。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4814

    瀏覽量

    102629
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4631

    瀏覽量

    128440
  • 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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux 了解內(nèi)核模塊的原理 《Rice linux 學(xué)習(xí)開(kāi)發(fā)》

    內(nèi)核模塊是一種沒(méi)有經(jīng)過(guò)鏈接,不能獨(dú)立運(yùn)行的目標(biāo)文件,是在內(nèi)核空間中運(yùn)行的程序。
    的頭像 發(fā)表于 07-16 10:08 ?4578次閱讀
    linux 了解<b class='flag-5'>內(nèi)核模塊</b>的原理 《Rice linux 學(xué)習(xí)開(kāi)發(fā)》

    Linux 內(nèi)核模塊工作原理及內(nèi)核模塊編譯案例

    一個(gè)內(nèi)核模塊至少包含兩個(gè)函數(shù),模塊被加載時(shí)執(zhí)行的初始化函數(shù)init_module()和模塊被卸載時(shí)執(zhí)行的結(jié)束函數(shù)cleanup_module()。
    發(fā)表于 09-23 09:39 ?2457次閱讀
    Linux <b class='flag-5'>內(nèi)核模塊</b>工作原理及<b class='flag-5'>內(nèi)核模塊</b>編譯案例

    Linux內(nèi)核模塊間通訊方法

    Linux內(nèi)核模塊間通訊方法非常的多,最便捷的方法莫過(guò)于函數(shù)或變量符號(hào)導(dǎo)出,然后直接調(diào)用。默認(rèn)情況下,模塊模塊之間、模塊內(nèi)核之間的全局變
    發(fā)表于 06-07 16:23 ?2358次閱讀
    Linux<b class='flag-5'>內(nèi)核模塊</b>間通訊方法

    錯(cuò)誤:無(wú)法加載內(nèi)核模塊'nvidia.ko'

    ,nvidiafb或nouveau存在并阻止了 NVIDIA內(nèi)核模塊獲得NVIDIA顯卡的所有權(quán) 設(shè)備,或者不支持在此系統(tǒng)中安裝的NVIDIA GP
    發(fā)表于 09-05 09:35

    內(nèi)核模塊的原理以及其模塊編寫(xiě)

    內(nèi)核模塊是具有獨(dú)立功能的程序。它可以被單獨(dú)編譯,但是不能單獨(dú)運(yùn)行,它的運(yùn)行必須被鏈接到內(nèi)核作為內(nèi)核的一部分在內(nèi)核空間中運(yùn)行。
    的頭像 發(fā)表于 01-02 11:11 ?4430次閱讀
    <b class='flag-5'>內(nèi)核模塊</b>的原理以及其<b class='flag-5'>模塊</b>編寫(xiě)

    什么是內(nèi)核模塊?如何編寫(xiě)一個(gè)簡(jiǎn)單的模塊

    內(nèi)核模塊是Linux內(nèi)核向外部提供的一個(gè)插口,其全稱(chēng)為動(dòng)態(tài)可加載內(nèi)核模塊(Loadable Kernel Module,LKM),我們簡(jiǎn)稱(chēng)為模塊。Linux
    發(fā)表于 08-24 17:15 ?20次下載

    什么是 Linux 內(nèi)核模塊?

    lsmod 命令能夠告訴你當(dāng)前系統(tǒng)上加載了哪些內(nèi)核模塊,以及關(guān)于使用它們的一些有趣的細(xì)節(jié)。
    的頭像 發(fā)表于 08-09 17:01 ?3175次閱讀

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程

    本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程。
    發(fā)表于 11-06 17:32 ?21次下載
    嵌入式LINUX系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核模塊</b>調(diào)試教程

    如何在Petalinux創(chuàng)建Linux內(nèi)核模塊?

    創(chuàng)建內(nèi)核模塊 Petalinux可以幫助工程師簡(jiǎn)化內(nèi)核模塊的創(chuàng)建工作。在petalinux工程目錄下,使用命令“ petalinux-create -t modules --name
    的頭像 發(fā)表于 03-02 11:10 ?4248次閱讀

    Asterisk內(nèi)核模塊介紹

    主要闡述Asterisk內(nèi)核模塊的基礎(chǔ)知識(shí)。
    發(fā)表于 03-17 13:47 ?7次下載

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試(嵌入式開(kāi)發(fā)和硬件開(kāi)發(fā))-嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試? ? ? ? ? ? ? ? ?
    發(fā)表于 07-30 13:55 ?10次下載
    嵌入式LINUX系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核模塊</b>調(diào)試

    什么是內(nèi)核模塊簽名?內(nèi)核如何開(kāi)啟模塊簽名

    驅(qū)動(dòng)可以直接編譯進(jìn)內(nèi)核鏡像,也可以單獨(dú)編譯成ko文件(內(nèi)核模塊),然后再進(jìn)行加載。內(nèi)核從3.7后開(kāi)始支持模塊簽名,該功能使能以后,內(nèi)核只允許
    發(fā)表于 08-08 16:14 ?1102次閱讀

    Linux內(nèi)核模塊參數(shù)傳遞與sysfs文件系統(tǒng)

    函數(shù)傳參的內(nèi)核傳參機(jī)制,編寫(xiě)內(nèi)核程序時(shí)只要實(shí)現(xiàn)傳參接口,用戶(hù)在加載內(nèi)核模塊時(shí)即可傳入指定參數(shù),使得內(nèi)核模塊更加靈活。
    發(fā)表于 06-07 16:23 ?1982次閱讀

    深入分析Linux kernel安全特性: 內(nèi)核模塊簽名

    顧名思義,在開(kāi)啟該功能之后,內(nèi)核在加載內(nèi)核模塊時(shí),會(huì)對(duì)內(nèi)核模塊的簽名進(jìn)行檢查。
    的頭像 發(fā)表于 10-18 12:32 ?3974次閱讀

    英偉達(dá)將全面轉(zhuǎn)向開(kāi)源GPU內(nèi)核模塊

    英偉達(dá)公司近期宣布了一項(xiàng)重大決策,即全面轉(zhuǎn)向開(kāi)源GPU內(nèi)核模塊,并計(jì)劃最終以此取代閉源驅(qū)動(dòng)程序。這一戰(zhàn)略轉(zhuǎn)變標(biāo)志著英偉達(dá)在
    的頭像 發(fā)表于 07-19 15:26 ?495次閱讀