吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVIDIA全面轉向開源GPU內核模塊

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 2024-07-25 09:56 ? 次閱讀

借助 R515 驅動程序,NVIDIA 于 2022 年 5 月發布了一套開源的 Linux GPU 內核模塊,該模塊采用雙許可證,即 GPL 和 MIT 許可。初始版本主要面向數據中心計算 GPU,而 GeForce 和工作站 GPU 則處于 Alpha 狀態。

當時,我們宣布,在后續版本中將提供更可靠、功能齊全的 GeForce 和工作站 Linux 支持,NVIDIA 開放內核模塊最終將取代閉源驅動。

NVIDIA GPU 共享一個通用的驅動程序架構和功能集。您的臺式機或筆記本電腦所使用的相同驅動程序能夠在云端運行世界上最先進的 AI 工作負載,對我們來說,把它做到恰到好處一直都極其重要。

兩年過去了,我們利用開源的 GPU 內核模塊實現了與原來的應用程序性能相當或更好的性能,并添加了大量新的功能。

異構內存管理 (HMM) 支持

機密計算

Grace 平臺的連貫內存架構

其他功能

現在,我們處于完全過渡到開源 GPU 內核模塊的時刻。在即將發布的 R560 驅動版本中,我們將作出這一改動。

支持的 GPU

并不是每個 GPU 都能與開源 GPU 內核模塊兼容。

對于 NVIDIA Grace HopperNVIDIA Blackwell 等尖端平臺,您必須使用開源的 GPU 內核模塊,因為這些平臺不支持專有的驅動程序。

對于來自 Turing、Ampere、Ada Lovelace 或 Hopper 架構的較新 GPU,NVIDIA 建議將其切換到開源的 GPU 內核模塊。

對于 Maxwell、Pascal 或 Volta 架構中的舊版 GPU,其開源 GPU 內核模塊不兼容您的平臺。因此,請繼續使用 NVIDIA 專有驅動。

對于在同一系統中使用較舊和較新的 GPU 的混合部署,請繼續使用專有驅動程序。

如果您不確定,NVIDIA 提供了一種新的檢測輔助腳本的方式,以幫助指導您選擇合適的驅動程序。有關更多信息,請參閱本文后面的使用安裝輔助腳本部分。

安裝程序更改

通常情況下,通過各種安裝方法安裝的驅動程序默認版本正在從專有驅動程序切換到開源驅動程序。這有一些特定情況值得特別注意:

具有 CUDA 元軟件包的軟件包管理器

運行文件

安裝輔助腳本

軟件包管理器詳細信息

適用于 Linux 的 Windows 子系統

CUDA 工具包

將軟件包管理器與 CUDA 元軟件包結合使用

當您使用包管理器(而非 .run 文件)安裝 CUDA 工具包時,安裝元包是存在并常用的。通過安裝頂級 cuda 軟件包,您將安裝 CUDA 工具包和相關驅動版本的組合。例如,在 CUDA 12.5 發布時間范圍內安裝 cuda 時,您將獲得專有的 NVIDIA 驅動 555 以及 CUDA 工具包 12.5。

圖 1 顯示此軟件包結構。

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

圖 1. CUDA 工具包 12.6 之前的 CUDA 軟件包

以前,使用開源 GPU 內核模塊意味著您可以使用頂級元軟件包。這意味著您需要安裝發行版特定的 NVIDIA 驅動開放軟件包,同時還需要安裝您選擇的 cuda-toolkit-X-Y 軟件包。

從 CUDA 12.6 版本開始,流的位置將有效切換(圖 2)。

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

圖 2. CUDA 工具包 12.6 版本發布后的 CUDA 軟件包

使用運行文件

如果您使用 .run 文件安裝 CUDA 或 NVIDIA 驅動,安裝程序將查詢您的硬件,并自動安裝最適合您系統的驅動。此外,您還可以使用 UI 開關來選擇專有驅動或開源驅動。

如果您通過 CUDA .run 文件并使用 ncurses 用戶界面進行安裝,現在將看到一個類似于以下內容的菜單:

 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

如果您通過驅動 .run 文件進行安裝,將看到類似的選擇(圖 3)。

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

圖 3. 新的運行文件交互式選擇(驅動安裝程序)

如果您使用 Ansible 等自動化工具,也可以使用命令行傳遞 overrides,以在不使用用戶界面的情況下進行安裝。

# 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

使用安裝輔助腳本

如前所述,如果您不確定為系統中的 GPU 選擇哪種驅動程序,NVIDIA 創建了一個輔助腳本,以指導您完成驅動程序的選擇過程。

要使用它,請首先使用包管理器安裝nvidia-driver-assistant包,然后運行該腳本。

$ nvidia-driver-assistant

軟件包管理器詳細信息

為了獲得一致的體驗,NVIDIA 建議您使用包管理器來安裝 CUDA Toolkit 和驅動程序。但是,不同發行版使用哪些包管理系統或包的結構方式的具體細節可能因您的特定發行版而異。

本節概述了各種平臺所需的具體細節、注意事項和遷移步驟。

apt: 基于 Ubuntu 和 Debian 的發行版

運行以下命令:

$ sudo apt-get install nvidia-open

要在 Ubuntu 20.04 上使用 cuda 元軟件包進行升級,請先切換到開啟的內核模塊。

$ 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

運行以下命令:

$ sudo dnf module install nvidia-driver:open-dkms

要在基于 DNF 的發行版上使用 cuda 元軟件包進行升級,必須首先禁用模塊流。

$ 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

運行以下命令之一:

# 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

軟件包管理器摘要

為簡化起見,我們已將包管理器建議壓縮為表格格式。從驅動版本 560 和 CUDA 工具包 12.6 開始的所有版本都將使用這些打包規范。

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

表 1. 軟件包管理器安裝建議

有關更多信息,請參閱 NVIDIA 數據中心驅動:

https://docs.nvidia.com/datacenter/tesla/drivers/index.html

適用于 Linux 的 Windows 子系統

適用于 Linux 的 Windows 子系統(WSL)使用來自主機 Windows 操作系統的 NVIDIA 內核驅動程序。因此,您不應該專門為此平臺安裝任何驅動程序。如果您使用的是 WSL,則無需進行任何更改或操作。

CUDA 工具包

通過軟件包管理器,CUDA 工具包的安裝保持不變。請運行以下命令:

$ sudo apt-get/dnf/zypper install cuda-toolkit

更多信息

如需詳細了解如何安裝 NVIDIA 驅動程序或 CUDA 工具包,包括如果此時無法遷移到開源 GPU 內核模塊,如何確保安裝專有驅動程序,請參閱《CUDA 安裝指南》中的驅動程序安裝部分。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5076

    瀏覽量

    103723
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4775

    瀏覽量

    129357
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210396

原文標題:NVIDIA 全面轉向開源 GPU 內核模塊

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux 了解內核模塊的原理 《Rice linux 學習開發》

    內核模塊是一種沒有經過鏈接,不能獨立運行的目標文件,是在內核空間中運行的程序。
    的頭像 發表于 07-16 10:08 ?4717次閱讀
    linux 了解<b class='flag-5'>內核模塊</b>的原理 《Rice linux 學習開發》

    Linux 內核模塊工作原理及內核模塊編譯案例

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

    Linux內核模塊間通訊方法

    Linux內核模塊間通訊方法非常的多,最便捷的方法莫過于函數或變量符號導出,然后直接調用。默認情況下,模塊模塊之間、模塊內核之間的全局變
    發表于 06-07 16:23 ?2661次閱讀
    Linux<b class='flag-5'>內核模塊</b>間通訊方法

    錯誤:無法加載內核模塊'nvidia.ko'

    ,nvidiafb或nouveau存在并阻止了 NVIDIA內核模塊獲得NVIDIA顯卡的所有權 設備,或者不支持在此系統中安裝的NVIDIA GP
    發表于 09-05 09:35

    內核模塊的原理以及其模塊編寫

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

    什么是內核模塊?如何編寫一個簡單的模塊

    內核模塊是Linux內核向外部提供的一個插口,其全稱為動態可加載內核模塊(Loadable Kernel Module,LKM),我們簡稱為模塊。Linux
    發表于 08-24 17:15 ?20次下載

    什么是 Linux 內核模塊?

    lsmod 命令能夠告訴你當前系統上加載了哪些內核模塊,以及關于使用它們的一些有趣的細節。
    的頭像 發表于 08-09 17:01 ?3289次閱讀

    嵌入式LINUX系統內核內核模塊調試教程

    本文檔的主要內容詳細介紹的是嵌入式LINUX系統內核內核模塊調試教程。
    發表于 11-06 17:32 ?21次下載
    嵌入式LINUX系統<b class='flag-5'>內核</b>和<b class='flag-5'>內核模塊</b>調試教程

    如何在Petalinux創建Linux內核模塊

    創建內核模塊 Petalinux可以幫助工程師簡化內核模塊的創建工作。在petalinux工程目錄下,使用命令“ petalinux-create -t modules --name
    的頭像 發表于 03-02 11:10 ?4439次閱讀

    Asterisk內核模塊介紹

    主要闡述Asterisk內核模塊的基礎知識。
    發表于 03-17 13:47 ?7次下載

    嵌入式LINUX系統內核內核模塊調試

    嵌入式LINUX系統內核內核模塊調試(嵌入式開發和硬件開發)-嵌入式LINUX系統內核內核模塊調試? ? ? ? ? ? ? ? ?
    發表于 07-30 13:55 ?10次下載
    嵌入式LINUX系統<b class='flag-5'>內核</b>和<b class='flag-5'>內核模塊</b>調試

    什么是內核模塊簽名?內核如何開啟模塊簽名

    驅動可以直接編譯進內核鏡像,也可以單獨編譯成ko文件(內核模塊),然后再進行加載。內核從3.7后開始支持模塊簽名,該功能使能以后,內核只允許
    發表于 08-08 16:14 ?1220次閱讀

    Linux內核模塊參數傳遞與sysfs文件系統

    函數傳參的內核傳參機制,編寫內核程序時只要實現傳參接口,用戶在加載內核模塊時即可傳入指定參數,使得內核模塊更加靈活。
    發表于 06-07 16:23 ?2193次閱讀

    深入分析Linux kernel安全特性: 內核模塊簽名

    顧名思義,在開啟該功能之后,內核在加載內核模塊時,會對內核模塊的簽名進行檢查。
    的頭像 發表于 10-18 12:32 ?5179次閱讀

    英偉達將全面轉向開源GPU內核模塊

    英偉達公司近期宣布了一項重大決策,即全面轉向開源GPU內核模塊,并計劃最終以此取代閉源驅動程序。這一戰略轉變標志著英偉達在
    的頭像 發表于 07-19 15:26 ?611次閱讀
    澳盈88娱乐城| 百家乐龙虎斗扎金花| 华克山庄娱乐| 大发888送钱58元| 大发888是什么东| 德州扑克胜率计算器| bet365最稳定网址| 百家乐官方网站| 大发888开户网址| 六合彩开码| 尼勒克县| 百家乐官网网上最好网站| 澳门百家乐官网文章| 百家乐官网官| 神话百家乐官网的玩法技巧和规则| 新天地百家乐官网的玩法技巧和规则 | 亿酷棋牌世界 完整版官方免费下载| 皇冠官方网址| 百家乐官网视频下载地址| 百家乐官网现金网开户平台| 百家乐官网游戏机破解方法| 百家乐官网网站| 游戏机百家乐庄闲| 大发888在线娱乐加盟合作| 棋牌| 网络百家乐官网怎样出千| 百家乐如何破解| 百家乐六手变化混合赢家打法| 百家乐园蒙| 蓬安县| 百家乐官网最佳打| 百家乐赢赌场百家乐| 明陞百家乐娱乐城| 盈得利| 百家乐官网筹码盒| 百家乐21点德州扑克| 老虎机在线ap888| 云鼎百家乐官网注册| 联众百家乐官网的玩法技巧和规则 | 百家乐官网类游戏网站| 做生意店铺风水好吗|