5 月 11 日,英伟达(NVIDIA)宣布,将 Linux gpu 内核模块作为开放源代码发布。早在几天前,NVIDIA 开始在 GitHub 上陆续公开相关代码。多家媒体表示,此举令人难以置信。
(来源:omgubuntu 官网)
开源代码具有 GPL/MIT 双重许可证,并且,许可条款对分发和重新包装的授权进行了规定,以实现分发。据悉,开源代码将从 R515 驱动发布开始。
图 | 相关报道截图(来源:NVIDIA DEVELOPER 官网)
开放式 GPU 内核模块支持哪些 GPU?这是开发者们最关心的问题之一。
NVIDIA 表示,开放式内核模块支持所有 Ampere 和 Turing GPU。Datacenter GPU 被支持用于生产,而对 GeForce 和工作站 GPU 的支持是 alpha 质量。
图丨GeForce RTX 20(来源:NVIDIA 中国官网)
开发者可以在 GitHub 上找到这些内核模块的源代码具体来说,内核模块的源代码将在 GitHub 上的 NVIDIA Open GPU Kernel Modules repo 中提供,但目前只有数据中心 GPU的代码被认为是可以投入生产的。
开放 GPU 内核模块的第一个版本是 R515,在提供源代码的同时,NVIDIA 还提供了完整构建和打包的驱动程序版本。该版本包含了相互排斥的闭源驱动和开源内核模块的预编译版本,用户可以在安装时做出选择。此外,用户可以从源代码中构建内核模块,并将其与相关的用户模式驱动程序一起安装。
图 | 源码内容(来源:GitHub)
显然,NVIDIA 使用这些驱动程序的主要目标之一是改善对超级计算机和大型数据中心装置的支持和功能。每台主要的超级计算机都运行在某种类型的 Linux 上,然而闭源驱动程序使得安装过程有诸多不便,并不尽人意。
然而,此次开源对家庭用户并不太友好,因为只有废弃的专有单片机内核模块才达到 alpha 质量的标准。根据 NVIDIA 的说法,改进工作计划在今年进行。
在固件方面,新的开源内核模式驱动与之前的驱动相同,同时二者的用户模式堆栈也一样,例如 CUDA、OpenGL 和 Vulkan。唯一的规定是,驱动堆栈的所有组件必须与版本匹配。另外,驱动程序版本将会通过整合社区提交的补丁而不断更新。
尽管开源代码有待提升,但不可否认的是,该版本是改善 Linux 中 NVIDIA GPU使 用体验的重要一步。它可与操作系统进行更紧密的整合,也便于开发人员进行调试、整合和回馈。具体来说,开发人员可以追踪代码路径,查看内核事件调度如何与工作负载相互作用,以便更快地进行根源调试。
对 Linux 发行商来说,开源模块不仅提升了使用的便利性,同时改善了即开即用的用户体验。此外,对于企业软件开发人员,他们可以将驱动程序无缝集成到项目定制的 Linux 内核中。例如,Canonical 和 SUSE 能够立即将开放的内核模块与 Ubuntu 和 SUSE Linux 企业发行版打包。
现在这个开放的驱动已经有了 DMA-BUFF 支持,不像 NVIDIA 的专有驱动。但是,在这一代码成熟之前,可能会有性能差异,并且在支持 alpha 质量的消费者/工作站硬件方面需要改进。但 NVIDIA 表示,最终他们将在功能和性能上与专有的内核代码持平。
总之,这次开源有助于进一步提高 NVIDIA GPU 驱动程序的质量和安全性,不仅如此,我们将听到更多来自 Linux 终端用户社区的意见和评论。
随着完全构建的软件包以及源代码的提供,此举将使发行版管理者更容易将驱动程序纳入他们的软件仓库,Canonical(Ubuntu 的制造商)和 SUSE 都被指定为现在可以将开放内核模块与他们的发行版打包的开发者。
NVIDIA 一直在与这两家公司以及 Red Hat 公司在内的开源解决方案供应商合作,以改善打包部署,并为客户创造更好的支持模式,构建良好的合作生态。
对于此次开源,Canonical 公司 Silicon Alliances 副总裁辛迪·金伯格(Cindy Goldberg)说道:“无论是对于 AI/ML 开发人员、游戏玩家还是云用户,新的 NVIDIA 开源 GPU 内核模块将简化 Ubuntu 用户的安装,并提高其安全性”。
Ubuntu 是最受开发者欢迎的基于 Linux 的操作系统,作为 Ubuntu 的制造商,Canonical 现在可以通过在 Ubuntu 上实现与 NVIDIA GPU 更紧密的整合,为在 AI 和 ML 的最前沿工作的开发者提供更好的支持。
图丨辛迪·金伯格(来源:Twitter)
在未来几个月内,NVIDIA Open GPU 内核模块将嵌入最近推出的 Canonical Ubuntu 22.04 LTS。
SUSE 关键业务 Linux 总经理马克思·诺加(Markus Noga)也说到:“这是开源社区和加速计算的一个真正里程碑,SUSE 公司很高兴 NVIDIA 将其 GPU 内核模式驱动程序作为开放源代码发布”。据悉,SUSE 将于 6 月首次通过 SUSE Linux Enterprise 15 SP4 部署这一内核。NVIDIA 和 SUSE 将一起通过安全的软件供应链和卓越的支持,在云、数据中心和边缘地区的 GPU 加速计算需求提供动力。
作为企业开源技术领导者,Red Hat 公司与 NVIDIA 合作密切,企业开源可以刺激创新并改善客户体验,这与 Red Hat 所倡导的理念相得益彰。Red Hat Linux 工程部副总裁麦克·马戈拉斯(Mike McGrath)期待将这些功能带给客户,并提高与 NVIDIA 硬件的互操作性。
5 月 11 日,Red Hat 的高级经理克里斯蒂安·夏乐(Christian F.K. Schaller)发表博客评论,题为《NVIDIA 开源驱动模块为何对 Linux 如此重要?》(Why is the open source driver release from NVidia so important for Linux?)。
图 | 相关博客评论(来源:博客 )
对于接下来的计划,他说还有很多工作要做。同时,NVIDIA 需要继续努力,使这个新的驱动功能更加完善,包括在计算和图形显示中的应用。NVIDIA 应该和各大开源解决方案供应商合作,为未来的统一内核驱动做出规划,并提出一个对社区和 NVIDIA 都有效的模型。并且,需要增加像 Mesa Vulkan 驱动这样的产品,就像 AMD 之于 RADV。
克里斯蒂安写道:“Red Hat 将在这项工作中发挥积极作用,因为我们是唯一有能力这样做的 Linux 厂商,我们也将努力确保更广泛的开源社区有机会充分参与,就像我们参与的所有开源工作一样。”
-End-
参考:?page=article&item=nvidia-open-kernel&num=1
评论0