https://docs.scale-lang.com/ [ ] [ ] Skip to content logo SCALE documentation SCALE by Spectral Compute ( ) ( ) [ ] Initializing search logo SCALE documentation * [ ] SCALE by Spectral Compute SCALE by Spectral Compute Table of contents + What is SCALE? + How does it work? + What projects have been tested? + Which GPUs are supported? + What are the components of SCALE? + What are the differences between SCALE and other solutions? + Contact us * [ ] Getting Started Getting Started + Install SCALE + Compile CUDA with SCALE + [ ] Examples Examples o SCALE Example Programs o Basic example o PTX example o BLAS example * [ ] Diving deeper Diving deeper + Troubleshooting + Comparison to other solutions + Differences from NVIDIA CUDA + Compute Capability Mapping + CUDA Dialects + [ ] Scale Extensions Scale Extensions o API Extensions o Language Extensions * [ ] Contact Us Contact Us + Report a Bug * Free Edition License Table of contents * What is SCALE? * How does it work? * What projects have been tested? * Which GPUs are supported? * What are the components of SCALE? * What are the differences between SCALE and other solutions? * Contact us SCALE by Spectral Compute# What is SCALE?# SCALE is a GPGPU programming toolkit that allows CUDA applications to be natively compiled 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. To get started: * See the tutorial. * Review the examples. * Contact us for help. How does it work?# SCALE has several key innovations compared to other cross-platform GPGPU solutions: * SCALE accepts CUDA programs as-is. No need to port them to another language. This is true even if your program uses inline PTX asm. * The SCALE compiler accepts the same command-line options and CUDA dialect as nvcc, serving as a drop-in replacement. * "Impersonates" an installation of the NVIDIA CUDA Toolkit, so existing build tools and scripts like cmake just work. What projects have been tested?# We validate SCALE by compiling open-source CUDA projects and running their tests. The following open-source projects are currently part of our nightly automated tests and pass fully: * NVIDIA Thrust * Blender Cycles * AMGX * llama-cpp * faiss * xgboost * GOMC * stdgpu * hashcat Which GPUs are supported?# The following GPU targets are supported, and are covered by our nightly tests: * AMD gfx1030 (Navi 21, RDNA 2.0) * AMD gfx1100 (Navi 31, RDNA 3.0) The following GPU targets have undergone ad-hoc manual testing and "seem to work": * AMD gfx1010 * AMD gfx1101 We are working on supporting the following GPUs: * AMD gfx900 (Vega 10, GCN 5.0) 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. * Implementations of the CUDA runtime and driver 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 and cuSOLVER 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] Next Install SCALE Privacy Statement Trademarks Copyright (c) 2024 Spectral Compute Ltd