News: 0001606387

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Burn 0.20 Released: Rust-Based Deep Learning With Speedy Perf Across CPUs & GPUs

([AI] 6 Hours Ago Burn 0.20)


A significant update to Burn was released today, the MIT and Apache 2.0 licensed tensor library and deep learning framework written in the Rust programming language. Burn 0.20 brings some low-level changes as it continues to strive to deliver high performance AI across the diverse hardware ecosystem.

With Burn 0.20 they have introduced [1]CubeK , which provides high performance multi-platform kernels written in CubeCL. CubeCL in turn is Tracel AI's multi-platform compute language extension for Rust. [2]CubeCL is focused on programming GPUs in Rust with "zero-cost abstractions" and in turn supports execution on NVIDIA CUDA, AMD ROCm HIP, Apple Metal, WebGPU, and Vulkan. Plus CPU-based execution too with SIMD support for most processors.

They hope with CubeK on CubeCL they will be able to deliver "peak performance on diverse hardware", as they summed up in their announcement on [3]GitHub :

"This release marks a major turning point for the ecosystem with the introduction of CubeK. Our goal was to solve a classic challenge in deep learning: achieving peak performance on diverse hardware without maintaining fragmented codebases.

By unifying CPU and GPU kernels through CubeCL, we've managed to squeeze maximum efficiency out of everything from NVIDIA Blackwell GPUs to standard consumer CPUs.

Beyond performance, this release makes the library more robust, flexible, and significantly easier to debug.

This release also features a complete overhaul of the ONNX import system, providing broader support for a wide range of ONNX models. In addition, various bug fixes and new tensor operations enhance stability and usability."

Via the [4]Burn.dev blog they shared more details on Burn 0.20 with their work on unifying CPU and GPU kernels. Included in that blog post were also some benchmark results show much lower execution times than the likes of LibTorch and ndarray:

Interesting work and it will be interesting to see how Burn and CubeK/CubeCL evolves and what sort of developer uptake there is around these Rust-based solutions.



[1] https://github.com/tracel-ai/cubek/

[2] https://github.com/tracel-ai/cubecl/

[3] https://github.com/tracel-ai/burn/releases/tag/v0.20.0

[4] https://burn.dev/blog/release-0.20.0/



There was once a programmer who worked upon microprocessors. "Look at
how well off I am here," he said to a mainframe programmer who came to visit,
"I have my own operating system and file storage device. I do not have to
share my resources with anyone. The software is self-consistent and
easy-to-use. Why do you not quit your present job and join me here?"
The mainframe programmer then began to describe his system to his
friend, saying: "The mainframe sits like an ancient sage meditating in the
midst of the data center. Its disk drives lie end-to-end like a great ocean
of machinery. The software is a multi-faceted as a diamond and as convoluted
as a primeval jungle. The programs, each unique, move through the system
like a swift-flowing river. That is why I am happy where I am."
The microcomputer programmer, upon hearing this, fell silent. But the
two programmers remained friends until the end of their days.
-- Geoffrey James, "The Tao of Programming"