mrkeyoor.com_
Fri 16 Oct 18:51 UTC
AI Toolsevaluationupdated 08 Oct 2026

burn review

Burn is a Rust tensor library and deep-learning framework for training and running models from one codebase. Its main appeal is a common model API that can target CPU, CUDA, ROCm, Metal, Vulkan, WebGPU, remote devices, browsers, and some embedded environments.

+19stars / 7d
Verdict

Our Burn checkout spent the full 900-second cap on the build and another 900 seconds on tests without completing either, after a 1,195-package install. Adopt Burn when one Rust model implementation across several hardware targets is worth long full-workspace checks and pre-1.0 migration work. For inference alone or a Python-led research team, Candle, tch-rs, or PyTorch asks for a smaller organizational change.

We ran it

Lab card: what happened when we ran burnScreenshot of burn (burn.dev)
Install✓ · 28s1195 packages
Build✗ timed out · 900s
Tests✗ timed out · 900sran, no count parsed
Repo2243 files~439,082 lines of source · 24.3 MB · 8 CI workflows

Answers from our run

Does burn build from source?

Dependencies installed in 28 seconds (1195 packages), and the build failed. We cloned commit 20426b9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do burn's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Who should not use burn?

Contributors who need a fast full-workspace verification loop: our build and test commands each hit the 900-second cap while still compiling.

What are the alternatives to burn?

Candle, tch-rs, PyTorch. Our Burn checkout spent the full 900-second cap on the build and another 900 seconds on tests without completing either, after a 1,195-package install.

Setup2/5Install was quick, but build and tests each exceeded 900 seconds
Docs5/5Detailed backend matrix, book, examples, and migration guide
Community5/516,000-plus stars, an October 8 push, and active issue work
Maturity3/5Broad capability, but pre-1.0 breaks and backend reports matter

Discussed on

  1. hnShow HN: GitHub – Burn – Rust tensor library and deep learning framework6 points
  2. hnBurn Deep Learning Framework Release 0.12.0 Improved API and PyTorch Integration5 points
  3. hnBurn v0.17: Deep Learning in Rust gets new backends and improved kernel fusion3 points
  4. hnBurn Deep Learning Framework v0.11.0 Released: Just-in-Time Kernel Fusion3 points

Who it’s for

Rust teams that want training and inference code in the same language as their product.
Engineers deploying one model design across servers, desktops, browsers, or embedded targets.
Framework developers who need autodiff, kernel fusion, custom GPU work, or pluggable compute backends.
Teams prepared to test every chosen backend with their own model and hardware.

Who it’s NOT for

Contributors who need a fast full-workspace verification loop: our build and test commands each hit the 900-second cap while still compiling.
Products that require a stable pre-1.0 API: Burn's status section promises breaking changes, and v0.22.0 introduced a large migration.
Teams assuming any ONNX model will import unchanged: the README says burn-onnx supports a limited operator set.
Deployments that cannot validate numerical output per backend: open reports describe incorrect WGPU results on Metal and Vulkan under specific v0.21 configurations.
Python research groups whose notebooks, libraries, and staff already center on PyTorch and do not have a Rust deployment constraint.

Setup reality

Our sandbox installed 1,195 packages in 28 seconds. The build timed out after 900 seconds, and the test command also timed out after 900 seconds. Neither produced a pass or failure count. The test log ended while Cargo was still compiling crates for PyTorch and Safetensors checks, reinforcement learning, capture, CPU, CUDA, ROCm, tooling, and web examples.

A small application can add the Burn crate and select only the features it needs. Backend choice changes the platform requirements: Flex is pure Rust, while accelerated paths may need WebGPU, Vulkan, Metal, CUDA, ROCm, LLVM, or matching drivers. The basic local crate needs no service credential.

The repository workspace includes every crate and example, which is a much larger job than compiling one Burn application. Our measured checkout had 2,243 files and about 439,082 source lines. It had 8 CI workflows, no root Dockerfile, and no root tests directory, although tests exist inside workspace crates.

Version 0.22 moves backend choice out of model types

Burn 0.22 lets model and tensor types stay independent of a concrete backend, while a Device selects CPU, GPU, remote execution, and autodiff behavior. That is the framework's clearest advantage. A team can keep one Rust model implementation from training through deployment instead of exporting a Python-trained graph into a separate runtime and hoping every operation survives the handoff.

The tensor API supports dynamic shapes and graphs, with automatic differentiation and kernel fusion available through backend decorators. Training has its own terminal dashboard, checkpointing, metrics, optimizers, and datasets. For inference, Burn can load PyTorch or Safetensors weights into Burn-defined models. ONNX import generates native Rust code, although the project explicitly warns that its ONNX operator coverage is limited.

Six accelerated targets make backend testing part of adoption

The backend table covers 6 accelerated routes: CUDA, ROCm, Metal, Vulkan, WebGPU, and the now-deprecated LibTorch path. CubeCL supplies the first-party GPU and CPU compute layer, while Flex is a pure-Rust eager CPU backend that also works in WebAssembly and no_std settings. Autodiff and fusion compose with the accelerated backends, and a remote decorator can move tensor work to another device.

This breadth changes where Burn fits. It can train on a server, run through WebGPU in a browser, or use Flex where native dependencies are unwelcome. You still choose features, drivers, device memory, and deployment artifacts for each target. The same high-level API reduces code forks; it does not prove that every backend gives identical output or comparable speed for your model.

What happened when we ran it

Our sandbox installed commit 20426b9 in 28 seconds and resolved 1,195 packages. The checkout held 2,243 files, about 439,082 lines of source, and occupied 24.3 MB before the Cargo work. We used an unprivileged container with 3 CPUs, 12 GB of RAM, the lab Rust image, and no secrets. The repository had 8 CI workflow files and no root Dockerfile.

The build ran for 900 seconds and timed out. It did not return a compiler error before the cap. The separate test command also ran for 900 seconds and timed out without reporting executed or passing tests. Its last lines still said Compiling, so we cannot claim that test cases began. A timeout is not a failed assertion, but it is a real cost for a clean full-workspace check.

The final test log names pytorch-tests, safetensors-tests, burn-rl, burn-capture, burn-rocm, burn-cpu, burn-cuda, two xtask packages, and web inference examples. That confirms the command was traversing a wide workspace when time expired. It does not identify one crate as the bottleneck. A feature-limited application should be smaller, but our lab measured the repository command, not a hand-picked minimal example.

Version 0.22 requires a deliberate migration before 1.0

Release v0.22.0 arrived on October 6, 2026 with what the maintainers call their largest API update. Backend generics were removed from models and tensors in favor of device selection. Candle support was removed from Burn itself, while NdArray and LibTorch entered deprecation. Legacy record formats now need an older compatible Burn version to load and export them through burn-store.

That checkpoint conversion transfers model parameters, not old optimizer or scheduler state. Teams resuming long training work should test the migration before deleting an earlier environment. Burn's status section is candid that the framework remains in active development and will have breaking changes with no guarantees. The migration guide is detailed, but documentation cannot turn an API break into a free upgrade.

Open backend reports justify numerical comparison tests

Issue 5962 reports wrong or saturated inference output with Burn 0.21 on WGPU over Metal while the same checkpoint and input look correct on NdArray. Issue 5257 describes deterministic divergence on WGPU over Vulkan when fusion and autotune are combined for cached incremental decoding. These are scoped user reports on v0.21 configurations, not results from our v0.22 sandbox, which never reached test execution.

They still suggest the right acceptance test. Run a fixed input and checkpoint through every backend you intend to ship, compare outputs within a stated tolerance, and keep that test in CI on representative hardware. A tensor framework can compile successfully while returning a wrong value. Burn's backend flexibility is useful only when the team budgets for that cross-device verification.

An October 8 push and v0.22.0 show fast maintenance

GitHub recorded a push on October 8, 2026, two days after v0.22.0, and listed 188 open issues and pull requests combined. The repository had more than 16,000 stars. Current reports cover zero-length tensor shapes, dtype handling, backend cache identity, graph capture, and WGPU behavior, while release work spans training, inference, model storage, and compute backends. This is active maintenance on a wide technical surface.

Burn is worth a serious trial when Rust is already a product constraint and the same model must cross 2 or more hardware classes. Start with one backend and one representative model, then add targets only after numerical and memory checks pass. Our 30 minutes of combined build and test caps show why evaluating the whole workspace is the wrong first milestone, even though that result remains an important warning for contributors.

Alternatives

ProjectWhat it isPick it when
CandleA smaller Rust machine-learning framework focused on model inference and lightweight deployment.pick this instead when Rust inference matters more than an integrated training framework and broad backend abstraction.
tch-rsRust bindings to the C++ PyTorch API and LibTorch runtime.pick this instead when direct access to PyTorch operators and LibTorch compatibility outweigh a Rust-native backend design.
PyTorch gh↗The established Python-first tensor and deep-learning framework with a large research ecosystem.pick this instead when research iteration, existing Python tooling, and model availability matter more than a single Rust deployment stack.

What people are saying

  1. [github-trending] tracel-ai/burn

Sources

  1. Burn README
  2. Burn 0.22.0 release
  3. Burn 0.22 migration guide
  4. WGPU Metal inference report
  5. WGPU Vulkan fusion report
  6. Measured Burn commit

More ai tools reviews

universal-modder · DeepEP-Ascend · DeepGEMM-Ascend · hypoarena · jeeves · faster-whisper · the whole board →