Skip to main content

native/ex_burn_nif/Cargo.toml

[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