NVIDIA封杀转译兼容CUDA:AMD被迫删除ZLUDA代码
NVIDIA CUDA生态建设得非常繁荣,也成为其极具竞争力的护城河,自然不会允许别人随便染指,今年3月发布的CUDA 11.6版本就明确规定,不允许在非NVIDIA平台上逆向工程、反编译或反汇编CUDA SDK生成的任何结果。
首当其冲被影响的就是ZLUDA项目,出自大神级开发者Andrzej Janik,只需用ZLUDA库替代CUDA即可,不需要任何转译,也不需要调整代码。
ZLUDA最初通过Intel oneAPI开发接口、Level Zero软件堆栈跑在Intel平台上,之后一度终止,幸好得到了AMD的支持而重启,并支持AMD硬件,效果还不错,但是仅仅维持了两年,AMD就在今年2月份不得不放手,ZLUDA随后改为开源。
即便如此,它也没有被放过。
Janik最新披露,GitHub上的ZLUDA开源代码已经根据AMD的要求全部删除。
他还表示,这些代码最初发布的时候,是通过了AMD邮件批准的,但是现在,AMD的法务部门表示它们并不合法。
有趣的是,Janik还特别强调,他没有收到NVIDIA的任何通知,也没有法律威胁。
尽管如此,Janik并未彻底屈服,他已经得到了新的资助,打算基于AMD支持前的代码,重新打造不同版本的ZLUDA,但也会失去一些特性,比如不会再有NVIDIA GameWorks——之前都已经能在《蝙蝠侠:阿卡姆之夜》中实现了。
顺带一提,摩尔线程的MUSA方案也可以迁移CUDA应用,但它不涉及CUDA相关代码的变动,而是另起炉灶,重建底层提供支持,所以不涉及违规。