Cargo Features

cubecl-wgpu has no features set by default.

[dependencies]
cubecl-wgpu = { version = "0.5.0", features = ["std", "exclusive-memory-only", "msl", "spirv", "spirv-dump"] }
default

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

Enables cubecl-common, cubecl-core, and cubecl-runtime

std

Enables std of cubecl-common, cubecl-core, and cubecl-runtime

exclusive-memory-only

Enables exclusive-memory-only of cubecl-runtime

msl

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

Enables cubecl-cpp

Metal

Affects base::request_device, base::register_features, backend::metal

spirv = ash, cubecl-spirv

Affects base::request_device, base::register_features, backend::vulkan

spirv-dump = sanitize-filename

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.

sanitize-filename spirv-dump?

Enables sanitize-filename ^0.5

ash spirv?

Enables ash

SPIR-V

cubecl-spirv spirv?
cubecl-cpp msl?