通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  大元帅

注册:2007-12-101651
跳转到指定楼层
1#
发表于 2024-3-5 16:28:22 |只看该作者 |倒序浏览
近期,Nvidia更新了其CUDA软件许可条款,新增了一项规定,明确禁止在非Nvidia硬件平台上利用翻译层运行基于CUDA的软件。这一政策变动应该是为了防止ZLUDA项目以及其他GPU制造商通过翻译层使用CUDA代码,这个事情引起了业界的关注。软件工程师Longhorn最先发现了这一变化,CUDA 11.5中的新条款明确指出:“禁止对使用软件元素生成的任何输出进行逆向工程、反编译或解构,以将此类输出成品翻译适配至非Nvidia平台。”[color=rgba(0, 0, 0, 0.901960784313726)]

[color=rgba(0, 0, 0, 0.901960784313726)]


Nvidia硬件配合CUDA的高效性能,使其成为众多程序的首选依赖。然而,随着更多具有竞争力的硬件问世,越来越多的用户希望能在其竞争对手的平台上运行他们的CUDA程序。实现这一目标主要有两种方法:重新编译代码(适用于程序的开发者)或使用翻译层。不难理解,使用如ZLUDA这类翻译层,在非Nvidia硬件上运行CUDA程序成为了最便捷的途径。尽管AMD和Intel已经决定不进一步开发ZLUDA,但也许只是出于法律层面的规避,并不意味着翻译技术失去了可行性。


不单单AMD和Intel,现在也有很多GPU制造商声称能够运行CUDA代码。例如,国内有家公司宣称设计出一种与CUDA/OpenCL等编程模型兼容的计算架构。如果考虑到逆向工程的难度(除非已掌握有关Nvidia GPU架构的所有底层细节),这里很可能也采用了某种翻译层技术。


显然,英伟达的CUDA生态是他最大的护城河。当第三方的翻译工具未成气候时,公司对第三方工具是睁一只眼闭一只眼,因为第三方工具的繁荣,也会促进CUDA的生态圈。但随着诸如MI300这样强劲的竞品出现时,那么老黄势必要往河里灌水了,加深护城河从而抬高竞争壁垒。即便这个市场大到自己根本吃不完,但也不能拱手让给竞争对手。



这项条款在CUDA 11.4版本中尚未出现,因此,利用CUDA 11.4及更早版本的编译器编译的应用程序,仍可在非Nvidia处理器上通过翻译层运行。从长远来看,Nvidia无疑会通过设置法律障碍,阻止在第三方硬件上通过翻译层运行CUDA程序,这对Nvidia可能是有益的,但对AMD、Intel以及其他AI计算硬件开发商则可能产生不利影响。


而重新编译现有CUDA程序仍然是完全合法的。为了简化这一过程,AMD和Intel分别提供了工具,帮助将CUDA程序移植到他们的ROCm和OpenAPI平台。


对于AMD、Intel、Tenstorrent这样的后来者来说,一方面持续推出更优秀的硬件,建立自己的软件生态,吸引更多软件开发者为这些新平台设计软件。另一方面则利用开源社区提供的兼容工具来规避风险,也是一步高明的棋。那么未来继续是英伟达一家独大呢?还是像当下的PC市场,至少是三分天下?我们拭目以待。


举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-23 22:27 , Processed in 0.116549 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部