burn-cubecl 0.22.0

Generic backend that can be compiled just-in-time to any shader language target
docs.rs failed to build burn-cubecl-0.22.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: burn-cubecl-0.22.0-pre.4

Burn CubeCL Backend

The Burn backend for every CubeCL runtime

Current Crates.io Version Documentation license

CubeBackend implements Burn's tensor operations as CubeCL kernels, compiled just in time for the device they run on. CUDA, ROCm, Metal, Vulkan, WebGPU, wgpu and the CubeCL CPU runtime all share this one backend type; a tensor's device says which runtime it uses.

Usage

Applications select a runtime with a Burn feature and a Device constructor:

Runtime Burn feature Device Crate
CUDA cuda Device::cuda(0) burn-cuda
ROCm rocm Device::rocm(0) burn-rocm
wgpu wgpu Device::wgpu(Default::default()) burn-wgpu
Metal metal Device::metal(Default::default()) burn-wgpu
Vulkan vulkan Device::vulkan(Default::default()) burn-wgpu
WebGPU webgpu Device::webgpu(Default::default()) burn-wgpu
CPU cpu Device::cpu() burn-cpu

Use this crate directly to write custom kernels: kernel and ops hold the building blocks, and cubecl is re-exported so kernels use the same CubeCL version as the backend. See the custom CubeCL kernel chapter of the Burn Book.

Feature Flags

  • cuda, hip, wgpu, metal, vulkan, webgpu, cpu: compile in a CubeCL runtime.
  • fusion (default): kernel fusion through burn-fusion.
  • autotune (default): benchmark kernel variants at runtime and keep the fastest.
  • fft: FFT kernels.
  • template: launch hand-written, non-JIT kernels.
  • tracing: instrument operations with the tracing crate.

Part of the Burn deep learning framework. See the Burn Book and the API documentation.