Zaneham/BarraCUDA logo

Zaneham/BarraCUDA

Free

Open-source CUDA compiler targeting multiple GPU architectures. Compiles .cu to AMD and Tenstorrent GPU's

FreeFree tier
Type
Open Source

About Zaneham/BarraCUDA

Booth is an open-source compiler that translates CUDA C, HIP, and Triton source code into binaries for multiple GPU architectures, including AMD RDNA 2/3/4, NVIDIA PTX, Tenstorrent Metalium C++, and native RV32IM, as well as x86-64 for CPU execution. It requires only a C99 compiler and no LLVM dependency, making it lightweight and portable. The project aims to provide a flexible, bootstrapped approach to GPU programming, named in honor of Kathleen Booth. It includes features like crash dumps, structured output, and parameter snapshots inspired by mainframe discipline.

Key Features

Supports CUDA C, HIP, and Triton source as input
Targets AMD RDNA 2/3/4, NVIDIA PTX, Tenstorrent Metalium C++, native RV32IM, and x86-64
No LLVM or other heavy dependencies; requires only a C99 compiler
Lightweight build process: just run make
Can execute Triton kernels on CPU without any GPU
Includes mainframe-inspired debugging features: crash dumps, structured output, parameter snapshots
Licensed under Apache 2.0

Pros & Cons

Pros
  • Supports multiple input languages (CUDA, HIP, Triton)
  • Targets a wide range of GPU and CPU architectures
  • Very lightweight – no LLVM or complex toolchain required
  • Open-source with Apache 2.0 license, free to use and modify
  • Can run Triton kernels on machines without a GPU
  • Active development with documented feature status and roadmap
Cons
  • Still in early development; not all features may be fully stable or complete
  • Limited documentation beyond the README and few additional docs
  • Binary named 'kath' may cause confusion with existing tools
  • Community and support base still small

Best For

Porting CUDA code to run on AMD GPUsDeveloping and testing GPU kernels on CPU hardwareCross-platform GPU programming without vendor lock-inLearning compiler design for GPU architecturesEmbedding GPU compilation in custom build pipelines

FAQ

What input languages does Booth support?
Booth supports CUDA C, HIP, and Triton source code.
What architectures can Booth compile to?
It can produce binaries for AMD RDNA 2/3/4, NVIDIA PTX, Tenstorrent Metalium C++, native RV32IM, and x86-64.
What dependencies are required to build Booth?
Only a C99 compiler (e.g., gcc or clang) is needed. No LLVM or other heavy dependencies.
Can Booth run GPU kernels on a CPU?
Yes, Booth can compile kernels (including Triton) to x86-64, allowing execution on any machine without a GPU.