[package] authors = [ "Dilshod Tadjibaev (@antimora)", "Nathaniel Simard (@nathanielsimard)", ] categories = ["science", "mathematics", "algorithms"] description = "Common crate for CubeCL" edition.workspace = true keywords = ["gpu", "cuda", "wgpu"] license.workspace = true name = "cubecl-common" readme.workspace = true repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-common" version.workspace = true [features] default = ["std"] std = ["rand/std", "futures-lite"] [target.'cfg(target_family = "wasm")'.dependencies] getrandom = { workspace = true, features = ["js"] } web-time = { workspace = true } [dependencies] # ** Please make sure all dependencies support no_std when std is disabled ** derive-new = { workspace = true } rand = { workspace = true } serde = { workspace = true } spin = { workspace = true } # using in place of use std::sync::Mutex; log = { workspace = true } # Only activate futures for std env futures-lite = { workspace = true, features = ["std"], default-features = false, optional = true } embassy-futures = { version = "0.1.1" } [target.'cfg(target_has_atomic = "ptr")'.dependencies] spin = { workspace = true, features = ["mutex", "spin_mutex"] } [target.'cfg(not(target_has_atomic = "ptr"))'.dependencies] portable-atomic = { workspace = true } spin = { workspace = true, features = [ "mutex", "spin_mutex", "portable_atomic", ] } [dev-dependencies] dashmap = { workspace = true }