SCALE by Spectral Compute#
What is SCALE?#
SCALE is a GPGPU programming toolkit that can natively compile CUDA applications for AMD GPUs.
SCALE does not require the CUDA program or its build system to be modified.
Support for more GPU vendors and CUDA APIs is in development.
How do I use SCALE?#
- Install SCALE.
- Activate SCALE, eg.
. /opt/SCALE/scaleenv gfx1100
- Compile your application, following the same steps you would use for NVIDIA CUDA.
What projects have been tested?#
We validate SCALE by compiling open-source CUDA projects and running their tests. The list of currently-tested projects and their compatibility status can be found here
Which GPUs are supported?#
The following GPU targets are supported in the free edition of SCALE:
- AMD
gfx900
(Vega 10, GCN 5.0) - AMD
gfx1030
(Navi 21, RDNA 2.0) - AMD
gfx1100
(Navi 31, RDNA 3.0) - AMD
gfx1010
- AMD
gfx1101
- AMD
gfx1102
The enterprise edition also has support for:
- AMD
gfx908
- AMD
gfx90a
- AMD
gfx940
- AMD
gfx942
Academic/research licenses are available.
Contact us if you want us to expedite support for a particular AMD GPU architecture.
What are the components of SCALE?#
SCALE consists of:
- An
nvcc
-compatible compiler capable of compiling nvcc-dialect CUDA for AMD GPUs, including PTX asm. - An of the CUDA runtime, driver and math APIs for AMD GPUs.
- Open-source wrapper libraries providing the "CUDA-X" APIs by delegating to the
corresponding ROCm libraries.
This is how libraries such as
cuBLAS
andcuSOLVER
are handled.
What are the differences between SCALE and other solutions?#
Instead of providing a new way to write GPGPU software, SCALE allows programs written using the widely-popular CUDA language to be directly compiled for AMD GPUs.
SCALE aims to be fully compatible with NVIDIA CUDA. We believe that users should not have to maintain multiple codebases or compromise on performance to support multiple GPU vendors.
SCALE's language is a superset of NVIDIA CUDA, offering some opt-in
language extensions
that can make writing GPU code easier and more efficient for users who wish
to move away from nvcc
.
SCALE is a work in progress. If there is a missing API that is blocking your attempt to use SCALE, please contact us so we can prioritise its development.
Contact us#
There are multiple ways to get in touch with us:
- Join our Discord
- Send us an e-mail at [email protected]