[package] authors = ["louisfd ", "Nathaniel Simard"] categories = ["science"] description = "Crate that helps creating high performance async runtimes for CubeCL." edition.workspace = true keywords = ["deep-learning", "machine-learning", "data"] license.workspace = true name = "cubecl-runtime" readme.workspace = true repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-runtime" version.workspace = true [features] channel-cell = [] channel-mpsc = ["dep:async-channel"] # Assume std channel-mutex = [] default = [ "std", "channel-mutex", "channel-mpsc", "channel-cell", "storage-bytes", "cubecl-common/default", ] exclusive-memory-only = [] std = ["cubecl-common/std"] storage-bytes = [] [dependencies] async-channel = { workspace = true, optional = true } cubecl-common = { path = "../cubecl-common", version = "0.3.0", default-features = false } derive-new = { workspace = true } hashbrown = { workspace = true } log = { workspace = true } async-lock = { version = "3.4.0" } # Persistent cache deps - has to match the autotune_persistent_cache cfg. [target.'cfg(any(target_os = "windows", target_os = "linux", target_os = "macos"))'.dependencies] dirs = { workspace = true } md5 = { workspace = true } sanitize-filename = { workspace = true } serde = { workspace = true } serde_json = { workspace = true, features = ["std"] } [target.'cfg(target_has_atomic = "ptr")'.dependencies] spin = { workspace = true, features = ["mutex", "spin_mutex"] } [target.'cfg(not(target_has_atomic = "ptr"))'.dependencies] spin = { workspace = true, features = [ "mutex", "spin_mutex", "portable_atomic", ] } [target.'cfg(target_family = "wasm")'.dependencies] wasm-bindgen-futures = { workspace = true } [dev-dependencies] rand = { workspace = true } serial_test = { workspace = true } [build-dependencies] cfg_aliases = "0.2.1" [[bench]] harness = false name = "dynamic"