NVIDIA全面转向开源GPU内核模块

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

关键点概述

NVIDIA于2022年5月推出了带有双重GPL和MIT许可的开源Linux GPU内核模块R515驱动程序。最初的版本主要针对数据中心计算GPU,GeForce和工作站GPU则处于alpha状态。

当时,NVIDIA宣布后续版本将提供更强大和全功能的GeForce和工作站Linux支持,最终由NVIDIA开源内核模块取代闭源驱动程序。

NVIDIA GPU共享一个通用的驱动程序架构和功能集。无论是在桌面还是笔记本电脑上,使用的都是同一款驱动程序,这也是全球最先进的AI工作负载在云端运行的驱动程序。对NVIDIA来说,做到这一点至关重要。

经过两年的努力,NVIDIA的开源GPU内核模块在应用性能上达到了相同甚至更高的水平,并增加了许多新功能:

  • 异构内存管理(HMM)支持
  • 机密计算
  • Grace平台的统一内存架构
  • 以及更多

现在,NVIDIA决定在即将发布的R560驱动程序中全面转向开源GPU内核模块。

支持的GPU

并非所有GPU都兼容开源GPU内核模块。

对于NVIDIA Grace Hopper或NVIDIA Blackwell等尖端平台,必须使用开源GPU内核模块。这些平台不支持专有驱动程序。

对于Turing、Ampere、Ada Lovelace或Hopper架构的较新GPU,NVIDIA建议切换到开源GPU内核模块。

对于Maxwell、Pascal或Volta架构的较旧GPU,开源GPU内核模块不兼容,需继续使用NVIDIA专有驱动程序。

对于混合部署(同一系统中包含旧的和新的GPU),继续使用专有驱动程序。

如果不确定哪种驱动程序适合,NVIDIA提供了一个新的检测助手脚本,帮助选择合适的驱动程序。更多信息,请参阅本文后面的"使用安装助手脚本"部分。

安装程序变化

通常情况下,所有安装方法默认安装的驱动程序版本将从专有驱动程序切换到开源驱动程序。以下几种特定情况需要特别注意:

  • 使用CUDA元包的包管理器
  • 运行文件
  • 安装助手脚本
  • 包管理器详情
  • Windows子系统(WSL)
  • CUDA工具包
使用CUDA元包的包管理器

在使用包管理器安装CUDA工具包时,安装元包常用于此目的。安装顶级cuda包时,会同时安装CUDA工具包和相关的驱动程序。例如,在CUDA 12.5发布期间安装cuda包,会得到专有的NVIDIA驱动程序555以及CUDA工具包12.5。

从CUDA 12.6版本开始,流程发生了变化(见图2)。

使用运行文件

如果使用.run文件安装CUDA或NVIDIA驱动程序,安装程序会查询硬件并自动安装最适合系统的驱动程序。UI中还提供了选项,可以在专有驱动程序和开源驱动程序之间进行选择。

使用CUDA .run文件和ncurses用户界面时,现在会看到如下菜单:

sqlCopy code┌──────────────────────────────────────────────────────────────────────────────┐
│ 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)。

typescriptCopy code# 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包,然后运行脚本:

rubyCopy code$ nvidia-driver-assistant

包管理器详情

为确保一致的体验,NVIDIA建议使用包管理器安装CUDA工具包和驱动程序。然而,不同发行版使用的具体包管理系统或包结构可能有所不同。

以下是各种平台的具体详情、注意事项或迁移步骤:

apt:基于Ubuntu和Debian的发行版

运行以下命令:

arduinoCopy code$ sudo apt-get install nvidia-open

要在Ubuntu 20.04上使用CUDA元包进行升级,首先切换到开源内核模块:

arduinoCopy code$ 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

运行以下命令:

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

要在基于dnf的发行版上使用CUDA元包进行升级,必须禁用模块流:

shellCopy code$ 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

运行以下命令之一:

shellCopy code# 默认内核
$ sudo zypper install nvidia-open
# azure内核(sles15/x86_64)
$ sudo zypper install nvidia-open-azure
# 64kb内核(sles15/sbsa)适用于Grace-Hopper
$ sudo zypper install nvidia-open-64k
包管理器总结

为简化起见,NVIDIA在表格中汇总了包管理器推荐。所有驱动程序版本560及CUDA工具包12.6以后的版本将使用这些打包规范。

发行版 安装最新版本 安装特定版本
Fedora/RHEL/Kylin dnf module install nvidia-driver dnf module install nvidia-driver:560-open
openSUSE/SLES zypper install nvidia-open{-azure,-64k} zypper install nvidia-open-560{-azure,-64k}
Debian apt-get install nvidia-open apt-get install nvidia-open-560
Ubuntu apt-get install nvidia-open apt-get install nvidia-open-560

Windows子系统(WSL)

Windows子系统(WSL)使用主机Windows操作系统中的NVIDIA内核驱动程序,不需要在该平台上专门安装任何驱动程序。如果使用WSL,无需进行任何更改或操作。

CUDA工具包

通过包管理器安装CUDA工具包的方法保持不变。运行以下命令:

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

更多信息

有关如何安装NVIDIA驱动程序或CUDA工具包的更多信息,包括在目前无法迁移到开源GPU内核模块时如何确保安装专有驱动程序,请参阅CUDA安装指南中的驱动程序安装部分。

相关推荐
CV-King9 分钟前
从零开始学cv-10:形态学变换(一)
图像处理·人工智能·python·opencv·算法·机器学习·计算机视觉
FL162386312910 分钟前
[数据集][目标检测]街道乱放广告牌检测数据集VOC+YOLO格式114张1类别
人工智能·yolo·目标检测
子午14 分钟前
马铃薯叶片病害识别系统+Python+图像识别+人工智能+深度学习+卷积神经算法+计算机课设项目
人工智能·python·深度学习
有Li17 分钟前
CCSI: 用于无数据类别增量学习的持续类别特定印象|文献速递--基于深度学习的医学影像病灶分割
人工智能·深度学习·学习
Rjqjfcom25 分钟前
ESRI ArcGIS Pro 3.1.5新功能及安装教程和下载
数据结构·人工智能·经验分享·arcgis·intellij-idea·photoshop
jndingxin44 分钟前
Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用
人工智能·opencv·计算机视觉
羚通科技1 小时前
安防监控视频平台LntonAIServer视频智能分析平台新增视频质量诊断功能
大数据·linux·数据库·人工智能·算法·php·音视频
DisonTangor1 小时前
黄仁勋预言步入现实 谷歌展示实时游戏生成AI模型GameNGen
人工智能·游戏
企业管理8MSaaS2 小时前
8Manage采购申请管理:轻松实现手动采购流程自动化
人工智能
擎创夏洛克AIOps2 小时前
再获权威认可!擎创科技入选福布斯中国2024金融科技Top10榜单!
大数据·人工智能·科技·物联网·chatgpt·金融