【笔记】英伟达提高CUDA的兼容难度

原文:

(1)文/观察者网 吕栋,英伟达禁止通过转换层兼容CUDA,针对中国企业?-观察者网

(2)文/界面新闻 彭新 英伟达禁止第三方公司兼容CUDA?相关公司回应|界面新闻 · 科技 (jiemian.com)

1.英伟达的CUDA生态护城河

CUDA(Compute Unified Device Architecture,统一计算设备架构)是英伟达于2006年推出的一种基于GPU的通用计算框架。简单来说,CUDA让英伟达的GPU不仅可以处理图形任务,也可以处理科学计算、机器学习等复杂耗时的并行计算,以及为AI大模型训练、推理提供算力。

长期以来,英伟达GPU和CUDA的高效结合,吸引了数百万开发者为其开发程序。由此,英伟达打造了深厚的CUDA生态壁垒。以至于如今新的GPU玩家入局时,首先考虑的就是如何兼容CUDA,否则将会给用户和开发者带来很高的学习成本。

对于新进者而言,兼容CUDA主要有两种方式重新编译代码使用转换层(translation layers)。相对来说,使用像ZLUDA这样的转换层,在非英伟达硬件上兼容CUDA是最便捷的途径。

ZLUDA,是一部分海外开发者尝试在英特尔、AMD硬件上运行CUDA应用的软件项目。该项目尝试打破英伟达的CUDA生态壁垒,允许CUDA应用无需修改源代码即可在第三方硬件上运行,并一度得到英特尔、AMD的支持。但随着英特尔、AMD转向支持自有软件平台,ZLUDA项目运转举步维艰,该项目于今年初开源。

一直以来,对于如何将CUDA应用迁移到第三方硬件平台,是英伟达对手们的一个难点。

此前,英特尔和AMD分别推出了OneAPI和ROCm,提供类似CUDA功能。两大芯片厂商都希望通过搭建生态系统以及提供更便捷的迁移工具,试图将英伟达的客户吸引过来。

国内,目前一部分国产GPU厂商采取兼容CUDA的策略,以确保用惯了英伟达产品的客户在迁移时没有障碍。另外也有厂商着手培育自己的软件生态,其中包括摩尔线程、壁仞科技、登临科技等。如摩尔线程推出基于旗下GPU产品的“MUSA”软件架构。

2.英伟达提高兼容难度

日前有国外软件工程师发现,英伟达在CUDA 11.6及更高版本的EULA(最终用户许可协议)中的某条款明确提到:“您不能逆向工程、反编译或反汇编使用此SDK生成的任何结果,并在非英伟达平台上进行转译。”这句话在CUDA 11.4和11.5版本的安装EULA中并不存在。

有熟悉国内GPU市场的投资人向界面新闻记者解释,原本英伟达的开发工具就不被允许用在非英伟达产品上,只是之前AMD放弃资助ZLUDA项目,并将这个项目变成开源以后,再侧面强调一次而已。他进一步称,此次英伟达在CUDA软件中更新的条款,实质上没有更新任何东西。

3.中国企业被怀疑

基于此,国外科技媒体Tom's Hardware认为,英伟达针对CUDA的限制,似乎旨在阻止英特尔和AMD参与的ZLUDA等项目,“或许更关键的是,(为了防止)一些中国GPU制造商借助转换层利用CUDA代码。”

这篇报道提到,中国GPU企业登临科技设计的处理器,具有“与CUDA/OpenCL等编程模型兼容的计算架构”,并称如果考虑到逆向工程的难度(除非已掌握有关英伟达GPU架构的所有底层细节),很可能采用了某种转换层技术。

该报道还提及另一家中国GPU创企摩尔线程,并称其MUSIFY转换工具旨在兼容CUDA,并怀疑摩尔线程可能涉及移植代码。

有行业人士告诉观察者网,CUDA本身是闭源的,没有授权企业可以使用,通过转换层直接使用英伟达CUDA的源代码,会涉及知识产权方面的法律风险。

4.中国企业否认移植CUDA代码

但很快,摩尔线程便发布声明,否认移植CUDA代码。摩尔线程表示,MUSA是该公司自主研发、拥有全部知识产权、软硬一体的全功能GPU先进计算统一系统架构,与CUDA无任何依赖关系。MUSIFY是摩尔线程面向广大MUSA开发者提供的开发工具,方便用户在MUSA计算平台上进行应用移植与开发,可以让开发者将自己的C++源代码,转换成MUSA C++源代码,再通过MUSA编译器MCC编译生成基于MUSA指令集的二进制代码,最终运行在摩尔线程全功能GPU上。

另一家国内GPU创企壁仞科技也向观察者网透露,BIRENSUPA软件开发平台是壁仞科技自主研发的软件开发平台,从底层架构、指令集到编译层工具均为自主研发,与此次报道无关。

5.提高兼容难度是一把双刃剑

需要指出的一点是,英伟达最新动作并非禁止兼容CUDA,而只是禁止通过转换层利用CUDA代码,也就是提高了兼容CUDA的难度。Tom's Hardware的报道也提到,重新编译现有的CUDA程序仍然完全合法。为了简化这一点,AMD和英特尔都有工具分别将CUDA程序移植到他们的ROCm和OpenAPI平台。

对英伟达来说,尽管禁止通过转换层使用CUDA代码可能有法律依据,但升级兼容难度也是一把双刃剑

前述外媒指出,随着AMD、英特尔、Tenstorrent和其他公司开发出更好的硬件,更多的软件开发人员将倾向于为这些平台进行设计,而英伟达的CUDA主导地位可能会随着时间的推移而减弱

此外,专门为特定处理器开发和编译的程序,将不可避免地比通过转换层运行的软件运行得更好,这意味着如果能够吸引软件开发人员加入的话,AMD、英特尔、Tenstorrent和其他公司能够在与英伟达的竞争中获得更好的竞争地位。

  • 38
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值