cubecl-server 0.11.0-pre.4

Toolkit for implementing a CubeCL runtime: memory pools, streams, drivers and the compilation pipeline.
Documentation
[package]
authors = ["louisfd <louisfd94@gmail.com>", "Nathaniel Simard"]
categories = ["science"]
description = "Toolkit for implementing a CubeCL runtime: memory pools, streams, drivers and the compilation pipeline."
edition.workspace = true
keywords = ["deep-learning", "machine-learning", "data"]
license.workspace = true
name = "cubecl-server"
readme.workspace = true
repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-server"
version.workspace = true


[lints]
workspace = true


[features]
autotune-checks = ["cubecl-runtime/autotune-checks"]
default = ["std", "storage-bytes", "persistence", "cubecl-runtime/default"]
exclusive-memory-only = ["cubecl-runtime/exclusive-memory-only"]
persistence = ["std", "cubecl-runtime/persistence"]
profile-tracy = ["cubecl-runtime/profile-tracy", "dep:tracy-client"]
std = ["cubecl-runtime/std", "cubecl-common/std", "cubecl-environment/std", "thiserror/std"]
storage-bytes = []
tokio = ["cubecl-runtime/tokio"]

tracing = ["dep:tracing", "cubecl-runtime/tracing", "cubecl-common/tracing", "cubecl-ir/tracing"]

[dependencies]
# Runtime Deps
log = { workspace = true }
tracing = { workspace = true, features = ["attributes"], optional = true }

bytemuck = { workspace = true }
cfg-if = { workspace = true }
cubecl-common = { path = "../cubecl-common", version = "=0.11.0-pre.4", default-features = false, features = [
    "serde",
    "hash",
] }
cubecl-environment = { path = "../cubecl-environment", version = "=0.11.0-pre.4", default-features = false }
cubecl-ir = { path = "../cubecl-ir", version = "=0.11.0-pre.4", default-features = false, features = [
    "serde",
] }
cubecl-runtime = { path = "../cubecl-runtime", version = "=0.11.0-pre.4", default-features = false }
cubecl-zspace = { path = "../cubecl-zspace", version = "=0.11.0-pre.4", default-features = false }

derive-new = { workspace = true }
derive_more = { workspace = true, features = ["eq"] }
hashbrown = { workspace = true }
itertools = { workspace = true }
pliron = { workspace = true }
serde = { workspace = true, features = ["derive"] }
smallvec = { workspace = true }

foldhash = { workspace = true }
buildid = { workspace = true }
thiserror = { workspace = true }

futures-util = { workspace = true, default-features = false }

# Persistent cache deps - has to match the cfg(std_io) cfg.
[target.'cfg(any(target_os = "windows", target_os = "linux", target_os = "macos", target_os = "android"))'.dependencies]
cubecl-environment = { path = "../cubecl-environment", version = "=0.11.0-pre.4", default-features = false }
serde_json = { workspace = true, features = ["std"] }

# Tracy if enabled.
tracy-client = { workspace = true, optional = true }

[dev-dependencies]
rand = { workspace = true, features = ["thread_rng"] }
serde_json = { workspace = true, features = ["std"] }
serial_test = { workspace = true }
tempfile = { workspace = true }
test-log = { workspace = true, features = ["trace"] }

[build-dependencies]
cfg_aliases = { workspace = true }

[[bench]]
harness = false
name = "dynamic"

[[bench]]
harness = false
name = "write_scope"