CubeCL: GPU Kernels in Rust for CUDA, ROCm, and WGPU

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
sponsored
  1. cubecl

    Multi-platform high-performance compute language extension for Rust.

    Agreed! I was looking through the summation example < https://github.com/tracel-ai/cubecl/blob/main/examples/sum_t...> and it seems like the primary focus is on the more traditional pre-2018 GPU programming without explicit warp-level operations, asynchrony, atomics, barriers, or countless tensor-core operations.

    The project feels very nice and it would be great to have more notes in the README on the excluded functionality to better scope its applicability in more advanced GPGPU scenarios.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. burn

    Burn is a next generation tensor library and Deep Learning Framework that doesn't compromise on flexibility, efficiency and portability.

    The need to build CubeCL came from the Burn deep learning framework (https://github.com/tracel-ai/burn), where we want to easily build algorithms like in CUDA with a real programming language, while also being able to integrate those algorithms inside a compiler at runtime to fuse dynamic graphs.

    Since we don't want to rewrite everything multiple times, it also has to be multi-platform and optimal, so the feature set must be per-device, not per-language. I'm not aware of a tool that does that, especially in Rust (which Burn is written in).

  4. Halide

    a language for fast, portable data-parallel computation

    This reminds me of Halide (https://halide-lang.org/).

    In Halide, the concept was great, yet the problems in kernel development were moved to the side of "scheduling", i.e. determining tiling/vectorization/parallellization for the kernel runs.

  5. pocl

    pocl - Portable Computing Language

    Sorry my interest there is debugging and I'm not immediately coming across good benchmarks. PoCL [0] seems to have added a TBB backend [1] so I'd expect it to be reasonable (otherwise why bother) but I haven't tested it.

    It isn't really related to your question but I think FluidX3D [2] illustrates that OpenCL is at least viable across a wide variety of hardware.

    As far as targeting CPUs in a release build it's not a particular backend that's important to me. The issue is at the source code level. Having single source is nice but you're still stuck with these two very different approaches. It means that the code is still clearly segmented and thus retargeting any given task (at least nontrivial ones) involves rewriting it to at least some extent.

    Contrast that with a model like OpenMP where the difference between CPU and GPU is marking the relevant segment for offload. Granted that you'll often need to change algorithms when switching to achieve reasonable performance but it's still a really nice quality of life feature not to have to juggle more paradigms and libraries.

    [0] https://github.com/pocl/pocl

    [1] https://portablecl.org/docs/html/drivers.html

    [2] https://github.com/ProjectPhysX/FluidX3D

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Learn WebGPU for C++

    1 project | news.ycombinator.com | 23 Jul 2026
  • Wgpu v30

    1 project | news.ycombinator.com | 1 Jul 2026
  • Building a GPU-accelerated screen recorder in Rust with wgpu

    1 project | dev.to | 19 Jun 2026
  • Leaving my comfort zone: Contributing to wgpu, A light overview of the Graphic API's

    1 project | dev.to | 28 Oct 2025
  • WebGPU and the Price of Compiling WGSL

    1 project | news.ycombinator.com | 6 Oct 2025

Did you know that Rust is
the 3rd most popular programming language
based on number of references?