forked from coreylowman/dfdx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
87 lines (70 loc) · 2.73 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
[package]
name = "dfdx"
version = "0.11.2"
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.65"
description = "Ergonomic auto differentiation in Rust, with pytorch like apis."
homepage = "https://github.com/coreylowman/dfdx"
documentation = "https://docs.rs/dfdx"
repository = "https://github.com/coreylowman/dfdx"
readme = "README.md"
keywords = [
"deep-learning",
"neural-network",
"backprop",
"tensor",
"autodiff",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[package.metadata.docs.rs]
features = ["nightly", "numpy", "safetensors", "cuda", "ci-check"]
[dependencies]
no-std-compat = { version = "0.4.1", default-features = false, features = [ "alloc", "compat_hash" ], optional = true }
spin = { version = "0.9.8", default-features = false, features = ["spin_mutex", "rwlock", "portable_atomic"], optional = true }
rand = { version = "0.8.5", default-features = false, features = ["std_rng"] }
rand_distr = { version = "0.4.3", default-features = false }
zip = { version = "0.6.2", default-features = false, optional = true }
cblas-sys = { version = "0.1.4", default-features = false, optional = true }
libc = { version = "0.2", default-features = false, optional = true }
cudarc = { git = "https://github.com/coreylowman/cudarc", branch = "dfdx-half", default-features = false, optional = true, features = ["driver", "cublas", "nvrtc"] }
num-traits = { version = "0.2.15", default-features = false }
safetensors = { version = "0.3", default-features = false, optional = true }
memmap2 = { version = "0.5", default-features = false, optional = true }
half = { git = "https://github.com/starkat99/half-rs.git", branch = "main", optional = true, features = ["num-traits", "rand_distr"] }
gemm = { version = "0.15.3", default-features = false, optional = true }
rayon = { version = "1.7.0", optional = true }
[dev-dependencies]
tempfile = "3.3.0"
mnist = "0.5.0"
indicatif = "0.17.3"
[build-dependencies]
glob = { version = "0.3.1", optional = true }
[features]
default = ["std", "fast-alloc", "cpu"]
nightly = ["half?/use-intrinsics", "gemm?/nightly"]
std = ["cudarc?/std", "rand_distr/std_math", "gemm?/std"]
fast-alloc = ["std"]
no-std = ["no-std-compat", "dep:spin", "cudarc?/no-std", "num-traits/libm"]
cpu = ["dep:gemm", "dep:rayon"]
cuda = ["dep:cudarc", "dep:glob"]
cudnn = ["cuda", "cudarc?/cudnn"]
f16 = ["dep:half", "cudarc?/f16"]
numpy = ["dep:zip", "std"]
safetensors = ["dep:safetensors", "std", "dep:memmap2"]
test-f16 = ["f16"]
test-f64 = []
test-integrations = []
ci-check = ["cudarc?/ci-check"]
[[bench]]
name = "batchnorm2d"
harness = false
[[bench]]
name = "conv2d"
harness = false
[[bench]]
name = "sum"
harness = false
[[bench]]
name = "softmax"
harness = false