【免费下载链接】BoothOpen-source CUDA, Triton and HIP compiler targeting multiple GPU and CPU architectures.项目地址https://gitcode.com/gh_mirrors/bar/Booth点击查看免费下载Booth 是一个开源 GPU 编译器它直接把 CUDA C、HIP 和 Triton 源码编译成 AMD、NVIDIA、Tenstorrent 甚至 x86 CPU 的可执行机器码——全程不依赖 LLVM不依赖 NVCC整个编译器只用纯 C99 写成一条make命令就能构建。对于想读懂 GPU 编译原理、或需要一条轻量可控编译链路的开发者来说这是一个难得的完整样本。 一句话认识 BoothBooth 的工作方式和你熟悉的nvcc、ROCm 工具链很像给它.cu或.hip文件它吐出目标平台能直接加载的二进制。区别在于中间没有任何黑盒输入CUDA C、HIP、Triton Python 内核也支持 Fortran、OCaml、MLIR 文本中间表示项目自研的 BIRBooth Intermediate Representation指令集完整文档见 docs/INSTRUCTIONS.md输出AMD RDNA 2/3/4 二进制、NVIDIA PTX/cubin、Tenstorrent Metalium C 与原生 RV32IM ELF、x86-64 主机目标文件甚至可以在没有 GPU 的笔记本上直接跑 Triton 矩阵乘法项目以汇编语言鼻祖 Kathleen Booth 命名二进制叫kath细节和来龙去脉都写在 README.md 里。 为什么值得纯 C99做编译器多数 GPU 工具链建立在 LLVM 之上规模庞大、构建复杂。Booth 证明了另一条路构建依赖只有一个 C99 编译器Makefile 中-stdc99加上严格的告警开关就是全部构建配置前端词法、解析、语义分析全部手写位于 src/fe/支持完整的 C 预处理器、模板、错误恢复优化 Pass常量折叠、死代码消除、SROA、mem2reg、设备函数内联、感知分支发散的 SSA 寄存器分配全部可见可改位于 src/ir/官方态度非常诚实docs/features.md 明确列出了什么能编译、什么还不行没有夸大⚙️ 一条流水线前端 → BIR → 多后端所有前端CUDA/HIP/Triton/MLIR…都汇入同一个 BIR之后走完全相同的管线这在 src/main.c 的共享后端分发器中有清晰注释。新增目标架构时只需实现isel指令选择和emit发射两个环节接口契约在 src/backend/backend.h官方还准备了可直接复制的骨架 src/backend/skeleton/说明文档见 docs/backends.md。目标架构命令说明AMD RDNA 2/3/4--amdgpu-bin直接生成 GPU 可加载二进制NVIDIA--nvidia-ptx/--nvidia-cubin绕过 NVCCcubin 可被显卡直接加载Tenstorrent--tensix/--rv-elfMetalium C 或原生 RV32IMx86-64 CPU--cpuSIMT 退化为线程循环无需 GPURISC-V RV64--rv64可在 qemu-riscv64 下运行 三步快速上手零依赖构建与运行获取源码git clone https://gitcode.com/gh_mirrors/bar/Booth也可直接下载官方预编译包支持 Linux / macOS / Windows构建在项目根目录执行make唯一前提是系统里有 gcc 或 clang运行./kath run kernel.cu # 自动检测本机设备编译并运行 ./kath doctor # 报告可用设备并自检 ./kath --ir kernel.cu # 查看编译产物BIR完整命令、每个后端和每个开关的说明都在 docs/usage.md。 不只有 CUDATriton、HIP 与更多前端Booth 的前端阵容比名字里GPU 编译器听起来更广Triton--triton直接解析triton.jitPython 内核tl.dot矩阵乘法可在纯 CPU 后端跑通HIP.hip文件自动启用与任意后端自由组合Fortran / OCaml / MLIR 文本分别经由 LFortran、kcomp和--mlir标志接入同一条 BIR 管线多翻译单元一次传多个.cu文件独立编译后链接进同一模块✅ 真实硬件验证不只是玩具docs/hardware.md 列出了已通过实硅验证的平台AMD MI300X8/8 测试内核通过、RDNA3、NVIDIA RTX 4060 TiPTX 路径由驱动 JIT 加载全程无 NVCC 参与蒙卡基准获得 3.8 倍加速。测试语料包含 14 个源文件、35 内核、约 27KB 机器码源码在 tests/。 新手阅读路线从哪些文件开始想看前端src/fe/lexer.c、src/fe/parser.c想看中间表示与优化src/ir/bir.h、src/ir/bir_cfold.c想看机器码发射src/amdgpu/encode.c、src/nvidia/emit.c想看编译到运行的闭环src/exec/ 与运行时 src/runtime/想了解后续方向docs/roadmap.mdBooth 用纯 C99 证明了从 CUDA 源码到多架构机器码的完整路径可以小到一个人读得完。无论是学习 GPU 编译原理还是为特殊硬件搭建自己的编译后端它都是一份干净、诚实、可以逐行读懂的开源 GPU 编译器参考实现。赞分享【免费下载链接】BoothOpen-source CUDA, Triton and HIP compiler targeting multiple GPU and CPU architectures.项目地址https://gitcode.com/gh_mirrors/bar/Booth点击查看免费下载相关推荐终极指南如何使用sccache加速NVIDIA CUDA编译nvcc和ptxas终极指南如何使用sccache加速NVIDIA CUDA编译nvcc和ptxas sccache是一款强大的分布式编译缓存工具专门为加速NVIDI开发工具构建工具CUDA-Samples编译优化nvcc flags与编译器选项详解CUDA Samples编译优化nvcc flags与编译器选项详解 在GPU加速计算开发中编译器选项的优化配置直接影响程序性能与兼容性。本文基于NVIDI示例工程CUDA-Samples终极指南从nvcc编译到CMake构建的完整工作流解析CUDA Samples终极指南从nvcc编译到CMake构建的完整工作流解析 想要掌握CUDA开发的核心工具链吗本文将带你深入了解NVIDIA官方提示例工程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考