[package]
name = "ferrum-runtime"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Backend implementations (Candle, CPU) for Ferrum inference"
readme = "../../README.md"
[dependencies]
ferrum-types = { workspace = true }
ferrum-interfaces = { workspace = true }
async-trait = { workspace = true }
tokio = { workspace = true }
futures = { workspace = true }
parking_lot = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
metrics = { workspace = true }
candle-core = { workspace = true, optional = true }
candle-nn = { workspace = true, optional = true }
crossbeam-channel = "0.5"
crossbeam-utils = "0.8"
pin-project = "1.1"
uuid = { workspace = true }
chrono = { workspace = true }
bytesize = "1.3"
once_cell = { workspace = true }
ndarray = { workspace = true, optional = true }
half = { workspace = true }
[dev-dependencies]
tokio-test = "0.4"
criterion = "0.5"
[features]
default = ["candle"]
candle = ["dep:candle-core", "dep:candle-nn"]
cpu = ["dep:ndarray"]
metal = []
cuda = []
rocm = []
profiling = []