burn/Cargo.toml

155 lines
4.1 KiB
TOML

[workspace]
# Try
# require version 2 to avoid "feature" additiveness for dev-dependencies
# https://doc.rust-lang.org/cargo/reference/resolver.html#feature-resolver-version-2
resolver = "2"
members = [
"backend-comparison",
"crates/*",
"crates/burn-import/pytorch-tests",
"crates/burn-import/onnx-tests",
"examples/*",
"examples/pytorch-import/model",
"xtask",
]
exclude = [
"examples/notebook",
# "crates/burn-cuda", # comment this line to work on burn-cuda
]
[workspace.package]
edition = "2021"
version = "0.14.0"
readme = "README.md"
license = "MIT OR Apache-2.0"
[workspace.dependencies]
bytemuck = "1.16.1"
candle-core = { version = "0.6.0" }
clap = { version = "4.5.9", features = ["derive"] }
colored = "2.1.0"
console_error_panic_hook = "0.1.7"
csv = "1.3.0"
dashmap = "5.5.3"
data-encoding = { version = "2.6.0", default-features = false, features = [
"alloc",
] }
dirs = "5.0.1"
fake = "2.9.2"
flate2 = "1.0.30"
float-cmp = "0.9.0"
getrandom = { version = "0.2.15", default-features = false }
gix-tempfile = { version = "14.0.0", features = ["signals"] }
globwalk = "0.9.1"
hashbrown = "0.14.5"
hound = "3.5.1"
image = "0.25.2"
indicatif = "0.17.8"
js-sys = "0.3.69"
libm = "0.2.8"
log = { default-features = false, version = "0.4.22" }
md5 = "0.7.0"
percent-encoding = "2.3.1"
pretty_assertions = "1.4.0"
proc-macro2 = "1.0.86"
protobuf = "3.4.0"
protobuf-codegen = "3.4.0"
quote = "1.0.36"
r2d2 = "0.8.10"
r2d2_sqlite = { version = "0.24.0" }
rayon = "1.10.0"
regex = "1.10.5"
reqwest = "0.12.5"
rmp-serde = "1.3.0"
rstest = "0.19.0"
rusqlite = { version = "0.31.0" }
rust-format = { version = "0.3.4" }
sanitize-filename = "0.5.0"
serde_bytes = { version = "0.11.15", default-features = false, features = [
"alloc",
] } # alloc for no_std
serde_rusqlite = "0.35.0"
serial_test = "3.1.1"
spin = { version = "0.9.8", features = ["mutex", "spin_mutex"] }
strum = "0.26.3"
strum_macros = "0.26.4"
syn = { version = "2.0.71", features = ["full", "extra-traits"] }
tempfile = "3.10.1"
thiserror = "1.0.61"
tokio = { version = "1.38.0", features = ["rt", "macros"] }
tracing-appender = "0.2.3"
tracing-core = "0.1.32"
tracing-subscriber = "0.3.18"
web-time = "1.1.0"
zip = "2.1.5"
# Async handling
pollster = "0.3"
async-channel = "2.3"
# Terminal UI
ratatui = "0.26.3"
crossterm = "0.27.0"
# WGPU stuff
text_placeholder = "0.5.1"
wgpu = "22.0.0"
# Benchmarks and Burnbench
arboard = "3.4.0"
github-device-flow = "0.2.0"
os_info = "3.8.2"
wsl = "0.1.0"
bincode = { version = "2.0.0-rc.3", features = [
"alloc",
"serde",
], default-features = false }
#
# The following packages disable the "std" feature for no_std compatibility
#
derive-new = { version = "0.6.0", default-features = false }
half = { version = "2.4.1", features = [
"alloc",
"num-traits",
"serde",
], default-features = false }
ndarray = { version = "0.15.6", default-features = false }
matrixmultiply = { version = "0.3.8", default-features = false }
openblas-src = "0.10.9"
blas-src = { version = "0.10.0", default-features = false }
num-traits = { version = "0.2.19", default-features = false, features = [
"libm",
] } # libm is for no_std
rand = { version = "0.8.5", default-features = false, features = [
"std_rng",
] } # std_rng is for no_std
rand_distr = { version = "0.4.3", default-features = false }
serde = { version = "1.0.204", default-features = false, features = [
"derive",
"alloc",
] } # alloc is for no_std, derive is needed
serde_json = { version = "1.0.120", default-features = false }
uuid = { version = "1.9.1", default-features = false }
libc = "0.2.155"
tch = "0.15.0"
nvml-wrapper = "0.10.0"
sysinfo = "0.30.13"
systemstat = "0.2.3"
### For the main burn branch. ###
cubecl = { version = "0.1.1", git = "https://github.com/tracel-ai/cubecl", default-features = false }
cubecl-common = { version = "0.1.1", git = "https://github.com/tracel-ai/cubecl", default-features = false }
### For local development. ###
# cubecl = { path = "../cubecl/crates/cubecl" }
# cubecl-common = { path = "../cubecl/crates/cubecl-common" }
[profile.dev]
debug = 0 # Speed up compilation time and not necessary.
opt-level = 2