News

AMD ‘Scales’ up its CUDA capabilities

Spectral Compute’s Scale lets AMD run native CUDA programs.

Jon Peddie

Spectral Compute, a London-based software developer, has created Scale, a GPGPU toolchain that allows CUDA programs to run natively on AMD GPUs. Scale is a CUDA-compatible tool kit that enables developers to compile CUDA code for non-Nvidia hardware without modifying their codebase. It aims to be source-compatible with CUDA, including support for in-line PTX and NVCC’s C++ quirks. Scale is a clean room implementation of CUDA, developed over seven years, and is not open-source software, but a free-edition license is available. The beta version is currently available, with plans for future development and support for more vendors.

AMD Logo
(Source: Spectral Compute)

London-based software developer Spectral Compute has created Scale, a GPGPU toolchain that allows CUDA programs to run natively on AMD GPUs. The company says support for more vendors is in development.

Scale is a GPGPU tool kit similar to Nvidia’s CUDA Toolkit, capable of producing binaries for non-Nvidia GPUs when compiling CUDA code.

Scale aims to be source-compatible with CUDA, including support for in-line PTX and NVCC’s C++ quirks.

Rather than introducing a new programming language for GPUs, Scale embraces the widely popular CUDA language, allowing its use with non-Nvidia hardware. This approach frees developers from the challenges of maintaining multiple versions of their codebase.

Various efforts like HIPIFY have aimed to translate CUDA source code to portable C++ for AMD GPUs, and the previously AMD-funded Zluda allowed CUDA binaries to run on AMD GPUs via a drop-in replacement for CUDA libraries. Now, there’s a new contender: Scale, allowing CUDA programs to run natively on AMD graphics processors.

Some CUDA code embeds PTX (intermediate code during compilation) in-line or relies on the Nvidia CUDA compiler to operate independently. Scale aims to achieve source compatibility with CUDA, addressing these aspects as well.

Developed over seven years by UK firm Spectral Compute, Scale is a clean room implementation of CUDA. It leverages some open-source LLVM components to natively compile CUDA sources for AMD GPUs without modification. This approach offers a significant advantage over alternative projects that require code translation or other manual developer steps.

Scale is an NVCC-compatible CUDA compiler for AMD GPUs and includes implementations of the CUDA runtime and driver APIs for AMD GPUs, as well as open-source wrapper libraries that interface with AMD’s ROCm libraries.

Unlike Zluda, which was quietly funded by AMD, Spectral Compute has independently funded Scale’s development since 2017 through its consulting business. The only immediate downside to Scale is that it is not open-source software, though a free-edition license is available for users.

Although Scale is not open source, it can be used for free by following specific conditions such as copyright notation. As of now, only the beta version is available.

To learn more about it, download the free Scale beta. To dive deeper, get the technical manual.