据Phoronix报道,SpectralCompute推出了一种新的工具链SCALE,它允许CUDA程序直接在AMDGPU上运行,而无需修改代码。SCALE可以自动为AMDGPU编译现有的CUDA代码,这大大简化了最初为Nvidia硬件开发的软件向其他平台的过渡,而不会违反任何最终用户许可协议。
Spectral的SCALE是一个工具包,类似于Nvidia的CUDA工具包,旨在在编译CUDA代码时为非NvidiaGPU生成二进制文件。它努力实现与CUDA的源代码兼容性,包括支持内联PTXas等独特实现和nvcc的C++实现,尽管它可以生成与AMD的ROCm6兼容的代码。SCALE的显著优势之一是它能够作为Nvidia自己的nvcc编译器的替代品。因此,与其他将CUDA代码翻译成其他语言或使用其他手动步骤的项目不同,SCALE直接为AMDGPU编译CUDA源代码。
SCALE的实现利用了一些开源LLVM组件来创建一个既高效又用户友好的解决方案,因为该软件包旨在提供比ZLUDA更无缝和集成的解决方案,ZLUDA是一个禁止使用的转换层。它甚至模仿了NvidiaCUDAToolkit运行时,使开发人员更容易将现有的CUDA程序移植到AMD硬件上。
SCALE已通过多种软件进行了广泛测试,包括Blender、Llama-cpp、XGboost、FAISS、GOMC、STDGPU、Hashcat和NvidiaThrust,并已证明其运行稳定且正确。已在RDNA2和RDNA3GPU上进行了测试,并在RDNA1上进行了基本测试,并正在开发Vega支持。不过,开发人员无法访问AMD基于CDNA的GPU。
缺乏对基于CDNA的处理器的支持是SCALE的一个缺点,因为使用CUDA和CUDA兼容硬件设计的数据中心软件主导着快速增长的AI领域,并且许多开发人员有兴趣轻松地将他们的程序移植到竞争平台,从而扩大他们的潜在市场。
自2017年以来,SpectralCompute的咨询业务一直为SCALE提供资金,没有AMD的资金支持。虽然该程序不是开源的,但有一个免费版许可证可用,可用于商业应用。