尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
开源GPU编译器Booth:不用LLVM和NVCC,如何用纯C99打通CUDA到多架构的完整路径
【免费下载链接】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),仅供参考
RELATED

相关推荐

OpenCV水果识别实战:苹果、香蕉、梨子样本采集与SVM分类

OpenCV水果识别实战:苹果、香蕉、梨子样本采集与SVM分类

简介:这份OpenCV水果识别样本面向计算机视觉入门与进阶学习者,聚焦苹果、香蕉、梨子三类水果的图像分类任务,可用于练习图像预处理、特征提取、分类器训练与测试的完整流程。包内共1624个文件,以1618张jpg水果图像为主体&#xff…

📅 2026/10/10 18:03:52
9.3 万小时数据 + 8 节点 A100:Nemotron-3-Diarization 训练内幕全解密

9.3 万小时数据 + 8 节点 A100:Nemotron-3-Diarization 训练内幕全解密

9.3 万小时数据 8 节点 A100:Nemotron-3-Diarization 训练内幕全解密 【免费下载链接】Nemotron-3-Diarization 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/Nemotron-3-Diarization 说话人分离(Speaker Diarization)长期是…

📅 2026/10/10 18:03:52
软件评审检查表:从需求到测试的逐项评审实践指南

软件评审检查表:从需求到测试的逐项评审实践指南

简介:这是一份面向软件设计与开发评审场景的实用检查表文档,适合项目经理、架构师、开发人员和质量管理人员使用。文档将评审过程拆解为需求规格说明书检查、概要设计检查和详细设计检查三大模块,覆盖清晰性、完整性、依从性、一致性、可行性…

📅 2026/10/10 17:58:51
MORE NEWS

更多资讯

📰

知识蒸馏实战:用mattevans-distil压缩大模型到小设备

简介:mattevans-distil 是一个用 Go 语言编写的轻量级内存数据集过滤开源项目,面向需要在程序内对结构化数据做条件筛选的开发者,尤其适合刚接触 Go 数据处理、想通过源码理解过滤逻辑实现的学习者。项目围绕数据集过滤这一核心场景&#xff…

📰

贝叶斯深度学习实战:用PyTorch量化模型不确定性

简介:本资源是一份面向机器学习进阶学习者与科研实践者的贝叶斯深度学习入门实践代码包,聚焦模型不确定性建模这一关键能力,适用于医疗诊断、金融风控、推荐系统等需量化预测可信度的高要求场景。压缩包为RAR格式,仅含1个核心Pyth…

📰

中医舌苔诊断系统:YOLOv5+SAM+ResNet50全链路Web应用

简介:一份完整的中医舌苔智能诊断网页应用源码包,面向计算机、电子信息等专业课程设计、期末大作业与毕业设计场景,也适合深度学习与Web开发初学者。项目以Python为后端、Vue为前端,采用yolov5目标检测定位舌体、Segment Anything…

📰

基于BP神经网络的人脸识别Matlab实现:PCA降维与GA优化实战

简介:基于BP神经网络的人脸识别Matlab实现.zip是一套面向人脸识别入门与进阶的完整实验项目,主要适合具备Matlab和机器学习基础的学生、研究人员及开发者,用于理解反向传播神经网络的监督学习机制,以及从人脸检测、特征提取到分类…

📰

SpringBoot智慧养老平台实战:从需求拆解到部署上线全流程

项目标题里这几个关键词——SpringBoot、Java、智慧养老、银龄健康云服务平台——放一起,基本就能看出这是个典型的Java Web毕业设计选题。作为带过不少毕设项目的“过来人”,我第一反应是这个题目选得挺聪明:一方面技术栈主流、资料齐全&…

📰

Tinycast vs Raycast 横评:兼容 114/147 个命令之外,差距还剩什么?

Tinycast vs Raycast 横评:兼容 114/147 个命令之外,差距还剩什么? 【免费下载链接】tinycast Tinycast — a tiny, fully native macOS launcher, hotkeys, and clipboard history. 项目地址: https://gitcode.com/GitHub_Trending/ti/tin…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬