Cargo Features

[dependencies]
cubecl = { version = "0.9.0", default-features = false, features = ["std", "autotune-checks", "exclusive-memory-only", "stdlib", "template", "profile-tracy", "tracing", "cpu", "cuda", "cuda-ptx-wmma", "hip", "hip-rocwmma", "spirv-dump", "wgpu", "wgpu-msl", "wgpu-spirv", "test-runtime"] }
default = std, stdlib

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

Enables cubecl-core, optional cubecl-cpu, 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

stdlib default = cubecl-std

CubeCL standard library

template

Enables template of cubecl-core

profile-tracy

Enables profile-tracy of cubecl-runtime and optional cubecl-wgpu

tracing

Enables tracing of cubecl-core, optional cubecl-cpu, optional cubecl-cuda, optional cubecl-hip, and optional cubecl-wgpu

cpu = cubecl-cpu

Runtimes

cuda = cubecl-cuda
cuda-ptx-wmma

Enables ptx-wmma of optional cubecl-cuda

hip = cubecl-hip
hip-rocwmma

Enables rocwmma of optional cubecl-hip

spirv-dump

Enables spirv-dump of cubecl-wgpu

wgpu wgpu-msl? wgpu-spirv? = 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

wgpu-spirv = wgpu

Enables spirv of cubecl-wgpu

test-runtime = cubecl-wgpu

By default we use wgpu.

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-cpu cpu?
cubecl-cuda cuda?
cubecl-hip hip?
cubecl-std stdlib
cubecl-wgpu spirv-dump? test-runtime? wgpu? wgpu-msl? wgpu-spirv?