初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行
AMD 显卡也能运行原版 CUDA 程序,无需进行任何修改!
一家英国初创公司推出了面向AMD显卡的CUDA程序编译工具,而且还可以免费商用。
发布后,这款工具引起了广泛关注,甚至在 HackerNews 热榜上登顶。
这一工具名为SCALE,被定位为通用GPU编程工具包。
截至目前,已有包括大型框架llama-cpp在内共9个程序通过测试并正常运行。
SCALE 与其他实现方式有所不同,它直接模拟CUDA工具包的安装,无需将代码转换为其他语言即可进行源到源编译。
这使得SCALE能够支持内联PTX等英伟达专用中间语言。
让AMD支持CUDA,无需转换
官网介绍显示,SCALE主要由三部分组成——兼容nvcc编译器、CUDA运行时和驱动API的AMD实现,以及ROCm库。
在这些组成部分中,编译器可以直接将用CUDA专用语言编写的程序(包括nvcc、内联PTX等)编译为可在AMD GPU上运行的二进制代码。
ROCm库则提供“CUDA-X”API,在处理cuBLAS和cuSOLVER等库时,SCALE均采用这种方式。
SCALE的关键创新在于它可以直接接受CUDA程序,无需移植至其他语言,同时兼容nvcc和clang等多种编译方式,现有的构建工具和脚本(如cmake)也能正常使用。
官方表示,SCALE实现了对CUDA的完全兼容,使开发者无需为不同GPU平台单独编写代码。
这与AMD推出的HIP有很大不同,因为HIP通过某种方式对CUDA代码进行重写,可能无法正确识别复杂的宏,并且不支持内联PTX等专用语言。
SCALE的作者甚至认为,HIP无法解决CUDA的兼容性问题。
另外,SCALE语言是CUDA的超集,提供一些可选的语言扩展,使希望摆脱nvcc的开发者能更轻松、高效地编写GPU代码。
作者表示,希望未来开发者可以一次编写代码,就能在不同硬件平台上运行,目前正在通过弥合CUDA编程语言和其他硬件供应商之间的兼容差距来实现这一目标。
目前,SCALE对各种AMD GPU系列的支持情况如下:
已支持:gfx1030(RX6000系列)和 gfx1100(RX7000系列)
“似乎有效”:gfx1010(RX5000系列)和 gfx1101
正在适配:gfx900(RX Vega系列)
此外,作者还测试了几个CUDA开源项目,并成功地利用SCALE运行了9个CUDA应用程序。
然而,由于SCALE是一个全新的项目,因此作者为该工具准备了一系列教程,涵盖从安装到编译的方方面面,并提供了各种示例程序。
每个教程的关键步骤都含有相关代码示例,甚至包括如何确定GPU型号,极为细致。
如果用户在使用过程中遇到问题,作者还提供了常见故障的排除方法,同时还开设了Discord论坛,方便用户直接与开发团队交流。
这家推出SCALE的初创公司名为Spectral Compute,成立于2018年,总部位于英国,自称对CPU和GPU架构有深入的了解,旨在帮助开发者更有效地利用算力资源。
网友:挑战英伟达的领导地位?
有网友认为,如果SCALE能够如其宣传的那样有效,将对英伟达构筑的领先地位构成挑战,让AMD直接与之竞争。
然而,现在下定论还为时过早,因为SCALE官方也承认与原版CUDA相比仍存在一些缺陷。
开发者明确表示,尽管SCALE支持大部分CUDA API和功能,但仍有一些API和功能不被支持,只是官方尚未给出具体列表。
另一位与SCALE团队交流过的网友表示,至今SCALE仍无法操控TensorCore,这意味着AMD无法在其上运行FlashAttention加速框架。
此外,由于N卡上配备有强大的矩阵乘法单元,即使SCALE编译能运行,AMD卡上的性能可能仍无法与N卡匹敌。
一些网友认为,AMD无法与英伟达竞争的原因在于其不愿将投资用于提升GPU在机器学习性能上的表现,而不仅仅是依赖CUDA的优势。
即便能够高效运行,AMD显卡是否真的经济实惠且易获取,仍是一个待解决的问题。
还有一些网友认为,技术是否能够运行不是最大的问题,法律问题背后也需要面对。
关于这个问题目前也在引发广泛讨论,尚未有明确结论。
一些人认为,与ZLUDA(另一种在AMD上运行CUDA程序的方式)类似,SCALE也存在法律疑点,可能会引发英伟达的诉讼。
具体来说,根据英伟达的最终用户许可协议(EULA)条款,CUDA SDK仅允许开发在N卡上运行的应用程序,这可能会阻止类似SCALE这样的兼容性实现。
不过,也有网友表示,SCALE没有使用英伟达的SDK,因此不存在SDK使用协议的问题。
无论是技术问题还是法律问题,对这款新工具的讨论仍在继续。
至于该工具是否好用,现在需要开发者用实际行动来评判。
参考链接:
[1]https://docs.scale-lang.com/
[2]https://news.ycombinator.com/item?id=40970560
本文来自微信公众号:量子位(ID:QbitAI),作者:克雷西
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考。