Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
39 lines (34 loc) · 1.43 KB
/
Copy pathCargo.toml
File metadata and controls
39 lines (34 loc) · 1.43 KB
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
[package]
name = "burn-python"
version = "0.1.0"
edition = "2024"
description = "Python inference frontend for the Burn deep learning framework"
license = "MIT OR Apache-2.0"
repository = "https://github.com/asjad2401/burn-python"
publish = false
[lib]
name = "_burn_python"
crate-type = ["cdylib"]
[dependencies]
pyo3 = { version = "0.28", features = ["extension-module", "abi3-py39"] }
numpy = "0.28"
burn-flex = "0.21"
# listed directly so its default features (autotune, fusion) are on
burn-wgpu = "0.21"
burn-backend = "0.21"
onnx-ir = "0.21"
cubecl-common = "0.10"
bytes = "1"
bytemuck = { version = "1", features = ["extern_crate_alloc"] }
# All ops go through burn-dispatch: Flex on CPU, wgpu on GPU. The GPU path is compiled
# to each platform's native shading language — Metal (MSL) on macOS, Vulkan (SPIR-V)
# elsewhere — which is several times faster than the portable WGSL path (no access to
# matrix hardware). burn-dispatch allows only one wgpu flavor per build, hence per target.
# wgpu loads the GPU driver at runtime, so CPU-only machines still work with "flex".
[target.'cfg(target_os = "macos")'.dependencies]
burn-dispatch = { version = "0.21", default-features = false, features = ["std", "flex", "metal"] }
[target.'cfg(not(target_os = "macos"))'.dependencies]
burn-dispatch = { version = "0.21", default-features = false, features = ["std", "flex", "vulkan"] }
[profile.release]
lto = true
codegen-units = 1