CUDA,这个 NVIDIA 耗时十年构建终崛起的全球主流的通用计算平台,在今天让诸多 AI 芯片企业以及开发者都感受到了危机。此前,硅谷传奇芯片架构师 Jim Keller 吐槽“CUDA 是沼泽,而非护城河”,在这一刻有了深切的体会。
据外媒 Tom's Hardware 报道,自 2021 年起,NVIDIA 在其在线列出的许可条款中已禁止通过翻译层在其他硬件平台上运行基于 CUDA 的软件,但这一警告之前并未包含在安装过程中添加到主机系统上的文档里。这一规定现已添加到安装 CUDA 11.6 版及更新版本时包含的 EULA 中。
软件工程师Longhorn发现了这些条款。“您不得对使用SDK元素生成的输出进行逆向工程、反编译或反汇编,目的是将这些输出工件翻译为针对非NVIDIA平台的目标。”安装的EULA文本文件中的一条条款如此说明。
这一条款未出现在 CUDA 11.4 和 11.5 版本安装时的 EULA 文档中,以及之前的所有版本。然而,它出现在了 11.6 版及更新版本的安装文档中。
为什么 NVIDIA 会有如此操作?据 Tom's Hardware 分析,CUDA 当前正面临着极大的挑战。由于 CUDA 与 NVIDIA 硬件的结合显示出非常高的效率,许多程序都依赖它。然而,随着更多竞争性硬件的出现,越来越多的用户会倾向于在 NVIDIA 的竞争平台上运行他们的 CUDA 程序。实现这一目的有两种方式:重新编译代码(适用于相应程序的开发者)或使用翻译层。