ruda 0.1.7

Ruda GPU kernel API and portable runtime with CUDA, HIP and WGPU backends.
Documentation

ruda

Unified entry point for Ruda GPU kernels and compute backends. Select CUDA, HIP, or WGPU through Cargo features. The portable host runtime lives in ruda-runtime and remains available through ruda::runtime.

Interfaces

  • runtime::client and runtime::server: submit work and implement compute services.
  • runtime::storage, memory_management, and allocator: manage backend allocations.
  • runtime::backend, compiler, and kernel: implement runtime and compiled-kernel contracts.
  • dsl and prelude: kernel DSL and launch interfaces, enabled by any GPU backend.
  • cuda, hip, and wgpu: the selected driver's public API.

Usage

Cargo package: ruda. Rust import: ruda.

cargo add ruda --features cuda

For AMD HIP or a cross-vendor WGPU backend, choose one of:

cargo add ruda --features hip
cargo add ruda --features wgpu

CUDA requires a compatible NVIDIA driver and CUDA Toolkit; HIP requires a compatible AMD GPU and ROCm/HIP environment; WGPU requires a compatible GPU and graphics driver. Cargo adds the dependency; it does not install these drivers.

Use ruda::cuda::{CudaDevice, CudaRuntime}, ruda::hip::{AmdDevice, HipRuntime}, or ruda::wgpu::{WgpuDevice, WgpuRuntime} with ruda::prelude::*.

From the source workspace, run the same vector-add kernel with the selected backend:

cargo run -p ruda --example vector-add --features cuda
cargo run -p ruda --example vector-add --features hip
cargo run -p ruda --example vector-add --features wgpu

When enabling multiple backends, select one explicitly for the example:

cargo run -p ruda --example vector-add --features cuda,wgpu -- wgpu

Features

Default features: runtime-default.

Feature Purpose
cuda NVIDIA CUDA backend, exposed as ruda::cuda.
hip AMD ROCm/HIP backend, exposed as ruda::hip.
wgpu Cross-vendor WGPU backend, exposed as ruda::wgpu.
direct-ptx Enable CUDA and its direct PTX compiler; select it with RUDA_CUDA_COMPILER=ptx.
kernel Expose the kernel DSL and prelude without selecting a GPU backend.
runtime Expose the runtime modules.
runtime-std Enable host configuration and standard-library integration.
runtime-storage-bytes Enable byte-backed storage support.
runtime-tracing Enable runtime tracing.

Links