[package]
authors = [
"Dilshod Tadjibaev (@antimora)",
"Nathaniel Simard (@nathanielsimard)",
]
categories = ["science", "mathematics", "algorithms"]
description = "Common crate for DeepCL"
edition.workspace = true
keywords = ["gpu", "cuda", "wgpu"]
license.workspace = true
name = "deepcl-common"
readme.workspace = true
repository = "https://github.com/kothagpt/deepcode/tree/main/crates/deepcl-common"
version.workspace = true
[features]
cache = ["std", "serde_json", "dirs", "sanitize-filename"]
default = ["std"]
fp4 = ["float4"]
fp8 = ["float8"]
serde = ["serde_bytes"]
std = ["rand/std", "futures-lite", "rand/thread_rng", "serde_json?/std"]
[dependencies]
bytemuck = { workspace = true, features = ["derive"] }
derive-new = { workspace = true }
derive_more = { workspace = true, features = [
"not",
"add",
"mul",
"add_assign",
"mul_assign",
"display",
] }
float4 = { workspace = true, optional = true }
float8 = { workspace = true, optional = true }
half = { workspace = true }
log = { workspace = true }
num-traits = { workspace = true }
rand = { workspace = true }
serde = { workspace = true }
spin = { workspace = true }
cfg-if = { workspace = true }
dirs = { workspace = true, optional = true }
hashbrown = { workspace = true }
sanitize-filename = { workspace = true, optional = true }
serde_bytes = { workspace = true, features = ["alloc"], optional = true }
serde_json = { workspace = true, features = ["alloc"], optional = true }
embassy-futures = { version = "0.1.1" }
futures-lite = { workspace = true, features = [
"std",
], default-features = false, optional = true }
[target.'cfg(target_has_atomic = "ptr")'.dependencies]
spin = { workspace = true, features = ["mutex", "spin_mutex"] }
[target.'cfg(not(target_has_atomic = "ptr"))'.dependencies]
portable-atomic-util = { workspace = true }
portable-atomic = { workspace = true }
spin = { workspace = true, features = [
"mutex",
"spin_mutex",
"portable_atomic",
] }
[target.'cfg(target_family = "wasm")'.dependencies]
wasm-bindgen-futures = { workspace = true }
[target.'cfg(not(target_os = "none"))'.dependencies]
web-time = { workspace = true }
[target.'cfg(target_os = "none")'.dependencies]
embassy-time = { workspace = true }
[build-dependencies]
cfg_aliases = { workspace = true }
[dev-dependencies]
bincode = { workspace = true }
dashmap = { workspace = true }