SCALE是一个由初创企业Spectral Compute公司开发的GPGPU工具链,它允许CUDA程序在AMD显卡上本地编译运行。SCALE的开发历经七年,旨在提供一种与英伟达CUDA完全兼容的解决方案,使得用户不必维护多个代码库或牺牲性能来支持多个GPU供应商。SCALE项目提供了一种创新的解决方案,允许CUDA程序在不修改代码的情况下在AMD GPU上编译运行,这可能会改变当前GPU编程领域的格局,并为未来的GPU计算提供新的可能性。随着项目的不断完善和推广,SCALE有望成为连接流行编程语言和其他硬件供应商之间兼容性的桥梁,为开发者提供更大的灵活性和选择。
SCALE的功能与特点
SCALE的主要组成部分包括一个nvcc兼容的编译器,可以为AMD GPU编译nvcc-dialect CUDA,包括PTX assembly。此外,它还包括AMD GPU的CUDA运行时和驱动程序API的实现,以及提供“CUDA-X”API的开源包装器库,这些库委托给相应的ROCm库。
SCALE的独特之处在于它接受原始的CUDA程序,不需要将它们移植到其他语言,即使是程序使用了内联PTX Assembly也是如此。SCALE编译器接受与nvcc相同的命令行选项,可以作为nvcc的替代品。它还“模拟”了NVIDIA CUDA工具包的安装,因此现有的构建工具和脚本可以正常工作。
SCALE的适用性与兼容性
SCALE目前已经对AMD的RDNA2/RDNA3架构GPU和RDNA1的基础测试进行了测试,Vega架构的支持正在进行中。它已经成功地编译并通过了多个开源CUDA项目,并运行了它们的测试,包括但不限于英伟达 Thrust、Blender Cycles、AMGX、llama-cpp、stdgpa等。
- 官网:https://docs.scale-lang.com
0条评论