Skip to content

Supported GPUs

WAVE has backends for Apple, NVIDIA, AMD, and Intel GPUs. Hardware support depends on the operations a kernel uses and the installed vendor toolchain.

WAVE hardware verification includes these devices:

VendorGPUArchitectureBackend
AppleM4 ProApple GPUwave-metal
NVIDIAT4Turing, SM 7.5wave-ptx
AMDMI300XCDNA 3wave-hip

The hardware verification page describes the matched benchmark study on Apple M4 Pro and NVIDIA T4. Intel hardware verification is pending.

The backends target Metal, PTX, HIP, and SYCL rather than individual GPU models. Other devices that support these toolchains are candidate targets. Run correctness checks on the intended device before relying on its results. Wave width, numeric capabilities, and resource limits can differ between devices.

BackendRequired vendor toolchain
wave-metalMetal
wave-ptxCUDA
wave-hipROCm
wave-syclIntel oneAPI

The CPU emulator executes WAVE binaries without a GPU. Use it to test kernel behavior and compare outputs with hardware execution. It does not model GPU timing.

The quick start runs a kernel explicitly through the emulator. SDK execution paths and fallback behavior are described in the language guides.

The Python SDK reports the selected device:

import wave_gpu
print(wave_gpu.device())

The Rust SDK exposes the same device information:

use wave_gpu::device;
fn main() -> Result<(), wave_gpu::RuntimeError> {
let dev = device::detect()?;
println!("{}: {:?}", dev.name, dev.vendor);
Ok(())
}

See Installation for SDK setup and Backends for translation details.