[package] authors = ["louisfd "] categories = ["science"] description = "This crate is used to time the execution of various computations, from operation kernels to complex model scenarios." edition.workspace = true license.workspace = true name = "backend-comparison" readme.workspace = true repository = "https://github.com/tracel-ai/burn/tree/main/backend-comparison" version.workspace = true [features] # we depend on wgpu and autotune by default because we use the burn-wgpu crate to get system information candle-accelerate = ["burn/candle", "burn/accelerate"] candle-cpu = ["burn/candle"] candle-cuda = ["burn/candle-cuda"] candle-metal = ["burn/candle", "burn/metal"] cuda-jit = ["burn/cuda-jit"] cuda-jit-fusion = ["cuda-jit", "burn/fusion"] hip-jit = ["burn/hip-jit"] default = ["burn/std", "burn/autodiff", "burn/wgpu", "burn/autotune"] ndarray = ["burn/ndarray"] ndarray-blas-accelerate = ["burn/ndarray", "burn/accelerate"] ndarray-blas-netlib = ["burn/ndarray", "burn/blas-netlib"] ndarray-blas-openblas = ["burn/ndarray", "burn/openblas"] tch-cpu = ["burn/tch"] tch-gpu = ["burn/tch"] wgpu = ["burn/wgpu", "burn/autotune"] wgpu-fusion = ["wgpu", "burn/fusion"] wgpu-spirv = ["burn/wgpu-spirv", "burn/autotune"] wgpu-spirv-fusion = ["wgpu-spirv", "burn/fusion"] [dependencies] arboard = { workspace = true } burn = { path = "../crates/burn", default-features = false } burn-common = { path = "../crates/burn-common", version = "0.16.0" } burn-wgpu = { path = "../crates/burn-wgpu", default-features = false, version = "0.16.0", optional = true } clap = { workspace = true } colored = { workspace = true } cubecl = { workspace = true, features = ["wgpu"], default-features = true } derive-new = { workspace = true } dirs = { workspace = true } github-device-flow = { workspace = true } half = { workspace = true } indicatif = { workspace = true } os_info = { workspace = true } percent-encoding = { workspace = true } rand = { workspace = true } reqwest = { workspace = true, features = ["blocking", "json"] } serde = { workspace = true } serde_json = { workspace = true } strum = { workspace = true } strum_macros = { workspace = true } sysinfo = { workspace = true, features = ["serde"] } wgpu = { workspace = true } wsl = { workspace = true } [dev-dependencies] rstest = { workspace = true } serial_test = { workspace = true } [[bench]] harness = false name = "unary" [[bench]] harness = false name = "binary" [[bench]] harness = false name = "max-pool2d" path = "benches/max_pool2d.rs" [[bench]] harness = false name = "conv-transpose2d" path = "benches/conv_transpose2d.rs" [[bench]] harness = false name = "conv-transpose3d" path = "benches/conv_transpose3d.rs" [[bench]] harness = false name = "conv2d" [[bench]] harness = false name = "conv3d" [[bench]] harness = false name = "matmul" [[bench]] harness = false name = "data" [[bench]] harness = false name = "load-record" path = "benches/load_record.rs" [[bench]] harness = false name = "custom-gelu" path = "benches/custom_gelu.rs" [[bench]] harness = false name = "resnet50" path = "benches/resnet.rs" [[bench]] harness = false name = "autodiff" [[bin]] name = "burnbench" path = "src/bin/burnbench.rs"