Highly anticipated: CUDA has become so embedded in high-performance computing that most developers treat it as inseparable from Nvidia hardware. A small London startup is trying to change that by making CUDA code run across different chips without forcing developers to start over. Spectral Compute has built a compiler called SCALE that serves as a drop-in replacement for Nvidia's NVCC, letting developers run existing CUDA code on other hardware, including AMD GPUs, without rewriting it.
Spectral Compute was founded in 2018 by four engineers with about 60 years of combined HPC optimization experience. The founders say the effort grew out of frustration: while working at an AI firm, they grew tired of the cost of Nvidia GPUs and the poor performance of alternative compilers, which pushed them to build their own solution using LLVM and Clang.
Unlike tools that translate CUDA into another language or operate on already compiled binaries, SCALE works as a compiler in its own right, recompiling CUDA directly for the target hardware. The model follows the way CPU compilers work, where code can run on different architectures and performance differences mostly come from the hardware, not the compiler.
Spectral is working from the assumption that CUDA is here to stay, noting that it accounts for about 80% of HPC code in use today.
"We take the approach that's industry-standard for CPUs, but apply it to GPUs," Giulio Malitesta, head of growth at Spectral, told HPCwire. He added that it's "the same approach that enables C++ to run, for example, on AMD and ARM CPUs, where nobody expects a performance gap that isn't directly caused by differences in the underlying hardware."
Spectral is working from the assumption that CUDA is here to stay, noting that it accounts for about 80% of HPC code in use today. "CUDA is basically the de-facto standard of HPC," Malitesta said. "We need to accept that as a fact and just do the work as compiler engineers to make it available on different platforms that are not necessarily Nvidia, but also improve on Nvidia GPUs."
Several other tools also aim to make CUDA portable, but each has notable limitations. AMD's HIPIFY converts CUDA code into C++ for its ROCm platform, but it doesn't fully leverage low-level features such as PTX. Intel's SYCLomatic migrates about 90% of the code, leaving the remaining 10% for manual cleanup. Tools like ZLUDA work at the binary level, which can hurt performance.
Spectral argues its method avoids those tradeoffs. By recompiling from source and checking results against NVCC outputs, the company says it can preserve accuracy while improving performance. Benchmarks published by Spectral show that SCALE can significantly outperform HIPIFY-based approaches on AMD GPUs, with gains in some cases approaching six times.
So far, the company has focused on AMD hardware but is working toward supporting other AI accelerators, though it hasn't named them. It also continues to support Nvidia GPUs, where it believes there is still room to improve performance through better compilation.
The broader CUDA ecosystem adds another layer of complexity. There are hundreds of specialized libraries, including cuDNN, cuTENSOR and cuDF, that many applications depend on. Spectral is working to expand support for those, and it plans to roll out PyTorch compatibility to better integrate with common AI workflows.
... continue reading