[workspace]
[package]
name = "ex_burn_nif"
version = "0.1.0"
edition = "2021"
authors = ["nickagard <nickagard@gmail.com>"]
description = "Rust NIF bridge between Elixir and the Burn deep learning framework"
license = "MIT"
[lib]
name = "ex_burn_nif"
crate-type = ["cdylib"]
[features]
default = ["cuda"]
cuda = ["burn/cuda"]
metal = ["burn/metal"]
vulkan = ["burn/vulkan"]
[dependencies]
rustler = "=0.37.4"
# Burn deep learning framework
burn = { version = "=0.21.0", features = ["cubecl"], default-features = false }
burn-cubecl = "=0.21.0"
burn-autodiff = "=0.21.0"
burn-tensor = "=0.21.0"
burn-ndarray = "=0.21.0"
# Serialization
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.148"
# Random number generation for dropout
rand = "0.8"
# Error handling
thiserror = "1.0.64"
# Logging
log = "0.4"
env_logger = "0.11"
[target.'cfg(target_os = "macos")'.dependencies]
libc = "0.2"
[profile.release]
opt-level = 1
lto = false
[profile.dev]
opt-level = 0
lto = false