SCALE compiler
Spectral Compute reportedly spent 7 years developing SCALE, which does not rely on Nvidia's code but has established its CUDA compatible toolchain through some open-source LLVM components, allowing SCALE to be highly compatible across multiple platforms.
In fact, there have been some other ways in the past for GPU hardware to be compatible with CUDA, such as the open source porting project launched by ZLUDA supported by AMD. By recompiling binary code, the CUDA library can run on AMD's own ROCm, making AMD GPUs compatible with the CUDA ecosystem.
But the characteristic of SCALE is that it can avoid the steps of code porting, and developers can use a single version of the code repository because SCALE itself is compatible with CUDA's source code, which greatly improves usability.
Michael Sondergaard, CEO of Spectral Compute, said: We believe that with just one code write, it can run on any hardware platform. For CPU code, this has been implemented for many years, so why isn't GPU working? We are working to directly address this issue by bridging the compatibility gap between mainstream CUDA programming languages and other GPU hardware vendors.
Michael also mentioned, 'We should build an open-source ecosystem around GPUs, similar to the ecosystem currently enjoyed by CPUs, while ensuring interconnectivity between different platforms.' He believes that using SCALE can bridge the compatibility gap between CUDA and other hardware vendors, thereby breaking down barriers in the market.
According to the introduction, SCALE is a general-purpose parallel GPU toolkit that functions similarly to Nvidia's CUDA toolkit. It can generate corresponding binary files for non Nvidia GPUs while compiling CUDA code, completely avoiding dependence on translation layers.
At present, SCALE has successfully run in various software, such as Blender, Llama cpp, XGboost, FAISS, GOMC, STDGPU, Hashcat, NVIDIA Thrust and other professional software. These software can now use CUDA normally on AMD GPUs in RDNA2 and RDNA3.
However, SCALE itself is not open source, but users can use this feature through a free software license, perhaps to circumvent NVIDIA's EULA terms for CUDA compatibility.
Efforts of other manufacturers to be compatible with CUDA
There is actually no shortage of challengers for CUDA in the market, including AMD's ROCm and the SYCL programming language jointly developed by members of the Open Standards Alliance Khronos Group. Intel is also deeply bound to SYCL, hoping to break CUDA's rule.
Of course, for giants like AMD and Intel, they have the capital to try building a new ecosystem, but for more startups and small and medium-sized companies, compatibility is the lowest cost route.
For example, domestic GPU startup Moore Thread has launched multiple GPU products based on MUSA's unified architecture and created software development platforms, including AI development platform, MUSA SDK, MT Smart Media, and MTVerse XR.
And this ecosystem architecture can be fully compatible with existing software ecosystems, enabling zero cost migration of code to the MUSA platform with the help of MUSIY tools, including compatibility with the CUDA ecosystem.
In 2021, support for the CUDA software toolkit was also implemented on a RISC-V GPU project called Vortex.
In this project, researchers designed and implemented a pipeline aimed at fully supporting code migration from CUDA to the enhanced RISC-V GPU architecture. This pipeline starts with CUDA source code and aims to run this code directly on the enhanced RISC-V GPU architecture. Specifically, the pipeline is divided into the following steps: first, convert CUDA source code to NVVM intermediate representation (IR), then convert NVVM IR to SPIR-V IR, and then use POCL to translate SPIR-V IR into binary files for RISC-V, and finally execute these binary files on the enhanced RISC-V GPU.
Write at the end
Although the CUDA ecosystem is currently one of Nvidia's biggest advantages for GPUs, the efforts of these manufacturers indicate that other GPU hardware is also finding more and more ways to be compatible with CUDA, giving them the opportunity to capture some market share from Nvidia. But the leading effect in the AI field is becoming stronger, and the opportunities for GPU manufacturers to challenge Nvidia may be diminishing.