Nvidia 开源 Linux 内核 GPU 模块

前言

Nvidia在2022年5月11日宣布以GPL/MIT双重许可正式开源其Linux GPU内核模块。

R515驱动程序版本开始。可以在GPU上的NVIDIA Open GPU kernel modules repo中找到这些内核模块的源代码。

开源目的

高级产品经理Ram Cherukuri、高级系统软件经理Shirish BaskaranLinux OpenGL驱动程序工程师Andy Ritger和高级产品营销经理Fred Oh 在博文中表示:

此版本发布是改善在Linux中使用Nvidia GPU体验,与操作系统更紧密地集成,并且是让开发人员能够调试、集成和回馈的重要一步。对于 Linux 发行商来说,开源模块增加了易用性。

Nvidia还改进了开箱即用的用户体验,以签署和分发NVIDIA GPU驱动程序。CanonicalSUSELinux分销商能够立即用 UbuntuSUSE Linux企业版打包开放内核模块。

在之前,自由和开源软件社区不太热衷于封闭源代码的专有代码,例如早在2006年,OpenBSD首席开发人员Theo de Raadt就曾批评blog

供应商编译的二进制驱动程序没有任何源代码,并隐藏了错误和错误的解决方法

Linux之父的Linus Torvalds,也持有类似的看法。

专有驱动程序因为隐藏了后门,所以很少受到赞赏。因此Nvidia表示:

开源GPU内核模块将通过Linux社区的参与来提高驱动程序的质量和安全性

注意事项

限制

目前的参与是有限制的:只有Turing2018920日)和更新的GPU可以使用开源驱动程序。Turing之前的仍然需要现有的专有代码或Nouveau驱动程序。Nvidia驱动程序软件的用户空间组件也将保持封闭源代码的二进制文件。

开源优势

正在开放的内核级驱动程序可能比其他驱动程序从质量检查中受益更多。

NvidiaTuringAmpere数据中心GPU相关的源代码已经被认为可以投入生产。而GeForceWorkstation GPU的源代码仅被视为alpha质量。

各方看法

积极面:

Canonical硅联盟副总裁Cindy Goldberg在一份声明中表示:

新的Nvidia开源GPU内核模块将简化安装并提高Ubuntu用户的安全性,无论他们是AI/ML开发人员、游戏玩家还是云用户。Ubuntu现在将能够通过加强与Nvidia GPU的集成,为从事AIML应用程序的开发人员提供更好的支持。

SUSERed Hat的发言人也有类似发言。

在推特上,有技术倾向的人也对此表达了惊讶和热情。

Julia Computing的联合创始人兼首席技术官Keno Fischer:

祝贺Nvidia最终开源了他们的内核驱动程序,在很长一段时间中,这绝对是正确的举动。期待向其发送一些Pull reques,并在现在已经有同事这么做了。

消极面

有些人认为它有点像许可黑客,因为开源驱动程序代码依赖于固件中的大量闭源函数,而且用户空间仍然是封闭的。

更多信息,请参考:www.theregister.com/2022/05/12/…