Cargo Features

[dependencies]
cubecl = { version = "0.5.0", default-features = false, features = ["std", "autotune-checks", "exclusive-memory-only", "linalg", "reduce", "template", "cuda", "hip", "hip-intrinsic", "wgpu", "wgpu-spirv", "wgpu-msl", "compilation-cache"] }
default = linalg, std

These default features are set whenever cubecl is added without default-features = false somewhere in the dependency tree.

Enables cubecl-core, optional cubecl-cuda, optional cubecl-hip, and optional cubecl-wgpu

std default

Enables std of cubecl-core, optional cubecl-cuda, and optional cubecl-wgpu

autotune-checks

Enables autotune-checks of cubecl-runtime

exclusive-memory-only

Enables exclusive-memory-only of optional cubecl-wgpu

linalg default

Enables cubecl-linalg

reduce

Enables cubecl-reduce

template

Enables template of cubecl-core

cuda = cubecl-cuda

Runtimes

hip = cubecl-hip
hip-intrinsic

Enables wmma-intrinsics of optional cubecl-hip

wgpu wgpu-msl? wgpu-spirv? = cubecl-wgpu
wgpu-spirv = wgpu

Enables spirv of cubecl-wgpu

wgpu-msl = wgpu

Enables msl of cubecl-wgpu

cubecl-wgpu:

'msl' and 'spirv' features are exclusive
TODO find a way to have wgpu runtime auto-compiler to support several compilers at the same time

compilation-cache

Enables compilation-cache of optional cubecl-cuda and optional cubecl-hip

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

cubecl-cuda cuda?
cubecl-hip hip?
cubecl-wgpu wgpu? wgpu-msl? wgpu-spirv?