开源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),仅供参考

相关新闻

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

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

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

2026/10/11 18:34:20 阅读更多 →
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:34 阅读更多 →
Parsr 的 Docker 部署与镜像构建实战指南

Parsr 的 Docker 部署与镜像构建实战指南

后端数据工程 【免费下载链接】Parsr Transforms PDF, Documents and Images into Enriched Structured Data 项目地址: https://gitcode.com/gh_mirrors/pa/Parsr 点击查看 免费下载 本文以 Parsr 官方 Docker 文档(docs/docker.md)为主线&…

2026/10/11 18:03:14 阅读更多 →

最新新闻

QString 的 %1、%2 占位符与 setCursor、setAcceptedMouseButtons 实战解析:从参数替换到鼠标交互的完整链路

QString 的 %1、%2 占位符与 setCursor、setAcceptedMouseButtons 实战解析:从参数替换到鼠标交互的完整链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 21:43:36 阅读更多 →
vue-table字段回调函数进阶指南:一个方法自定义任意列的数据显示格式

vue-table字段回调函数进阶指南:一个方法自定义任意列的数据显示格式

【免费下载链接】vue-table data table simplify! -- vuetable is a Vue.js component that will automatically request (JSON) data from the server and display them nicely in html table with swappable/extensible pagination component. 项目地址: https://…

2026/10/11 21:43:36 阅读更多 →
MySQL聚合、分组、联合查询组合实战:避开重复计数与去重陷阱

MySQL聚合、分组、联合查询组合实战:避开重复计数与去重陷阱

做了很多年 MySQL 的数据查询,我越来越觉得:写聚合、分组、联合这三类查询,本质上不是背语法,而是在做一次空间搭建。真正的工作场景里,它们很少单独出现,更多是同一条 SQL 里互相嵌套、彼此拼接&#xff0…

2026/10/11 21:43:36 阅读更多 →
【城市】城市能源模拟住宅、商业和公共建筑集群的每小时热能和电力需求Matlab实现

【城市】城市能源模拟住宅、商业和公共建筑集群的每小时热能和电力需求Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数学建模、模型改进、算法创新、程序设计科研仿真。🍎 往期回顾关注个人主页:完整代码获取 定制创新 论文复现私信🍊个人信条:做科研,博学之、审问之…

2026/10/11 21:43:36 阅读更多 →
BarTender数据库集成实战:SQL Server连接、序列号与高并发打印

BarTender数据库集成实战:SQL Server连接、序列号与高并发打印

简介:本资源是BarTender条码标签设计与打印软件的官方级中文使用说明书,面向制造业、物流、仓储及IT运维等需高频标签打印的从业人员,以及刚接触BarTender的新手工程师与系统实施人员,解决软件部署、界面操作、驱动适配与数据库联…

2026/10/11 21:43:36 阅读更多 →
基于机器学习的MBTI人格预测系统:从文本特征到四维画像

基于机器学习的MBTI人格预测系统:从文本特征到四维画像

简介:基于机器学习的MBTI人格预测系统项目,面向机器学习学习者、Python与JavaScript开发者及对人格分析感兴趣的群体,解决从语言与行为文本到16型人格映射的预测问题。项目涵盖数据清洗、特征分析、模型构建、参数调优与性能评估,…

2026/10/11 21:42:36 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →