数据中心/云端/边缘

NVIDIA 发布开源 GPU 内核模块

 

NVIDIA 现在将 Linux GitHub 内核模块发布为具有双 GPL / MIT 许可证的开放源代码,从 R515 驱动程序版本开始。您可以在 GPU 上的 NVIDIA Open GPU kernel modules repo 中找到这些内核模块的源代码。

本次发布是改善在 Linux 中使用 NVIDIA GPU 的体验、与操作系统更紧密集成以及开发人员调试、集成和反馈的重要一步。对于 Linux 发行商来说,开源模块增加了易用性。他们还改进了开箱即用的用户体验,以签署和分发 NVIDIA GPU 驱动程序。 Canonical 和 SUSE 能够立即用 Ubuntu 和 SUSE Linux 企业版打包开放内核模块。

开发人员可以追踪代码路径,了解内核事件调度如何与他们的工作负载交互,以更快地进行根本原因调试。此外,企业软件开发人员现在可以将驱动程序无缝集成到为其项目配置的定制 Linux 内核中。

这将进一步帮助提高 NVIDIA GPU 驱动程序的质量和安全性,并获得 Linux 最终用户社区的输入和评论。

每发布一个新的驱动程序, NVIDIA 都会在 GitHub 上发布源代码的快照。社区提交的补丁将被审查,如果获得批准,将集成到未来的驱动程序版本中。

有关更多信息,请参阅 NVIDIA 贡献协议 和驱动程序概述 释放节奏与生命周期 文档。

支持的功能

开放式 GPU 内核模块的第一个版本是 R515 。除了源代码,还提供了驱动程序的完整构建和打包版本。

对于 NVIDIA Turing 和 NVIDIA Ampere 体系结构系列中的数据中心 GPU ,此代码已准备就绪。这是因为 GSP 驱动程序体系结构 在过去一年中分阶段推出,旨在使 NVIDIA 客户更容易过渡。我们专注于测试各种各样的工作负载,以确保与专有内核模式驱动程序的功能和性能对等。

将来, HMM 等功能将成为 NVIDIA Hopper 架构confidential computing 的基础组件。

在这个开源版本中,对 GeForce 和 Workstation GPU 的支持是 alpha 质量的。 GeForce 和工作站用户可以在 Turing 和 NVIDIA Ampere architecture GPU 上使用此驱动程序来运行 Linux 桌面,并在 Vulkan 和 NVIDIA OptiX 中使用多显示器、 G-SYNC 和 NVIDIA RTX 光线跟踪等功能。用户可以选择使用 文档 中突出显示的内核模块参数NVreg_EnableUnsupportedGpus。后续版本将提供更强大、功能更全面的 GeForce 和 Workstation 支持, NVIDIA 开放内核模块最终将取代封闭源代码驱动程序。

使用图灵和安培 GPU 的客户可以选择安装哪些模块。图灵前用户将继续运行封闭源代码模块。

开源内核模式驱动程序使用相同的固件和相同的用户模式堆栈,如 CUDA 、 OpenGL 和 Vulkan 。但是,驱动程序堆栈的所有组件都必须与版本中的版本匹配。例如,您不能从以前或将来的版本中获取一个版本的源代码、构建并使用用户模式堆栈运行它。

有关安装正确版本和其他故障排除步骤的说明,请参阅驱动程序 README 文档。

安装选择加入

R515 版本包含闭源驱动程序和开源内核模块的预编译版本。这些版本相互排斥,用户可以在安装时进行选择。默认选项确保为NVIDIA Volta和较老的图形处理器(与NVIDIA Turing+图形处理器相比)选择最佳安装方式。

用户可以从源代码构建内核模块,并使用相关的用户模式驱动程序安装它们。

Diagram with gray Installer ellipse pointing to two green rectangles showing how the CUDA R515 driver software is packaged with both binary and source modules.
图 1 :最终用户选择打开 GPU 内核模块的安装选项以及封闭源代码模块的默认路径的图示。

伙伴生态系统

NVIDIA 一直在与 Canonical 、 Red Hat 和 SUSE 合作,为我们的共同客户提供更好的打包、部署和支持模型。

Canonical

Canonical 的硅联盟副总裁辛迪·戈德伯格( Cindy Goldberg )评论道:“新的 NVIDIA 开源 GPU 内核模块将简化 Ubuntu 用户的安装并提高其安全性,无论他们是 AI / ML 开发者、游戏玩家还是云用户。”。“作为开发人员最受欢迎的基于 Linux 的操作系统 Ubuntu 的制造商,我们现在可以通过在 Ubuntu 上与 NVIDIA GPU 进行更紧密的集成,为处于 AI 和 ML 前沿的开发人员提供更好的支持。”

在接下来的几个月里, NVIDIA Open GPU 内核模块将进入最近发布的 Canonical Ubuntu 22.04 LTS 。

SUSE

“在SUSE,我们为 NVIDIA 以开源的形式发布他们的 GPU 内核模式驱动感到兴奋。这对于开源社区和加速计算来说是一个真正的里程碑。 SUSE 自豪地成为第一个在 6 月份通过 SUSE Linux Enterprise 15 SP4 实现这一突破的大型 Linux 发行版。 NVIDIA 和 SUSE 通过安全的软件供应链和卓越的支持,共同满足您在云计算、数据中心和 edge 方面的 GPU 加速计算需求。” -Markus Noga , SUSE 业务关键型 Linux 总经理

Red Hat

“企业开源可以刺激创新,改善客户体验,这是 Red Hat 一直倡导的。我们对 NVIDIA 开放其 GPU 的决定表示赞赏。”内核驱动程序。Red Hat 与 NVIDIA 合作多年,我们很高兴看到他们迈出了下一步。我们期待着将这些功能带给我们的客户,并改善与 NVIDIA 硬件的互操作性。” -Mike McGrath ,Red Hat 公司 Linux 工程副总裁

上游进近

多年来, NVIDIA GPU 驱动程序的设计旨在跨操作系统、 GPU 和 Jetson SOC 共享代码,以便我们能够在所有受支持的平台上提供一致的体验。当前的代码库不符合 Linux 内核设计约定,也不是 Linux 上游的候选代码库。

有计划与 Linux 内核社区以及 Canonical 、 Red Hat 和 SUSE 等合作伙伴一起研究上游方法。

同时,已发布的源代码可以作为参考,帮助改进 Nouveau driver 。 Nouveau 可以利用 NVIDIA 驱动程序使用的相同固件,公开许多 GPU 功能,如时钟管理和热管理,为树内 Nouveau 驱动程序带来新功能。

请继续关注 GitHub 上未来驱动程序发布和协作的更多发展。

常见问题

在哪里可以下载 R515 驱动程序?

您可以下载 R515 开发驱动程序作为 CUDA 工具包 11.7 ,或来自“测试版”驱动程序下的驱动程序 下载页面 。 R515 数据中心驱动程序将按照我们通常的节奏在后续版本中发布。

GPU 开放内核模块可以分发吗?

是的, NVIDIA 开放内核模块根据双重 GPL / MIT 许可证获得许可;许可证条款规定了分发和重新包装授权。

是否会发布 CUDA 等用户模式驱动程序的源代码?

这些变化是针对内核模块的;而用户模式组件未被触及。因此,用户模式将保持封闭源代码,并在驱动程序和 CUDA 工具包中使用预构建的二进制文件发布。

开放的 GPU 内核模块支持哪些 GPU ?

开放内核模块支持所有安培和图灵 GPU 。数据中心 GPU 支持生产,而 GeForce 和工作站 GPU 支持 alpha quality 。请参考数据中心、 NVIDIA RTX 和 GeForce 产品表 了解更多详细信息(图灵及以上版本的计算能力为 7.5 或更高)。

如何报告错误

可以通过 GitHub 存储库问题跟踪器 或我们现有的 最终用户支持论坛 报告问题。请通过 GitHub 存储库安全策略 上列出的渠道报告安全问题。

补丁提交和补丁 SLA / CLA 的流程是什么?

我们鼓励通过 GitHub 页面上的 pull 请求提交社区信息。提交的补丁将被审查,如果获得批准,将与可能的修改集成到未来的驱动程序版本中。请参阅 NVIDIA 驱动程序生命周期 文档。

发布的源代码是从共享代码库生成的快照,因此在 GitHub repo 中,贡献可能不会作为单独的 Git 提交反映出来。我们正在制定一个承认社区贡献的程序。出于同样的原因,我们还建议不要对代码进行重大的重新格式化。

我们的 GitHub page 中描述了提交请求的过程, 贡献者许可协议 中涵盖了这些贡献。

有关更多详细的常见问题解答,请参阅 Open GPU 内核模块 GitHub page

 

Tags