ExBurn — Elixir bridge to the Burn deep learning framework.
ExBurn provides a high-level API for tensor computation, neural network training, and GPU-accelerated machine learning by delegating to Burn via Rust NIFs (Native Implemented Functions).
Architecture
Elixir/Axon → Nx.Defn → ExBurn.Backend → ExBurn.Nif (Rustler) → Burn/CubeCL → GPU
↕
ExCubecl (GPU buffers, kernels, pipelines)Quick Start
# Set ExBurn as the default Nx backend
Nx.default_backend(ExBurn.Backend)
# Create and manipulate tensors
t = Nx.tensor([1.0, 2.0, 3.0])
Nx.add(t, t) |> Nx.to_list()Modules
ExBurn.Backend— Nx backend that delegates to Burn via NIFExBurn.Nif— Rustler NIF stubs for Burn interopExBurn.Tensor— Tensor conversion utilities between Nx and Burn formatsExBurn.BurnBridge— High-level bridge for Burn operations and ExCubecl buffersExBurn.CubeclBridge— GPU compute via ExCubecl (buffers, kernels, pipelines)ExBurn.Model— Model definition and training orchestrationExBurn.Training— Training loop implementationExBurn.Serving— Nx.Serving integration for batched concurrent inference
Summary
Functions
Sets the default Nx backend to ExBurn.Backend.
Returns the default device for tensor operations.
Returns the current version of ExBurn.
Functions
@spec configure!() :: :ok
Sets the default Nx backend to ExBurn.Backend.
After calling this, all Nx operations will be executed via Burn.
@spec default_device() :: :cpu | :gpu
Returns the default device for tensor operations.
Currently returns :gpu when a compatible GPU backend is available,
otherwise falls back to :cpu.
@spec version() :: String.t()
Returns the current version of ExBurn.