如何把Triton矩阵乘法跑在没有GPU的笔记本上:Booth CPU后端极简上手
【免费下载链接】BoothOpen-source CUDA, Triton and HIP compiler targeting multiple GPU and CPU architectures.项目地址https://gitcode.com/gh_mirrors/bar/Booth点击查看免费下载Booth 是一款开源的 CUDA、HIP 与 Triton 编译器它的 CPU 后端能把 Triton 矩阵乘法 kernel 直接编译成 x86-64 原生代码——不装 GPU、不装驱动、不依赖 LLVM在普通笔记本上就能运行。本文将带你用最少的命令完成全部流程构建 Booth、编译tl.dot矩阵乘法到 CPU、一次调用验证结果。为什么要在无 GPU 的笔记本上跑 Triton 矩阵乘法如果你遇到过以下场景这篇文章就是为你写的 想学习 Triton kernel 的写法但手头只有一台没有独显的旧笔记本 在 CI 或云端无卡环境里想对 GPU kernel 做快速冒烟测试 想验证同一份 kernel 源码在不同硬件上行为是否一致。项目作者在 README.md 里这样描述这件事的惊喜感你可以写一个 Triton kernel——包括矩阵乘法——然后在一台从未见过 GPU 的机器上运行它。从零开始没有 LLVM直达原生代码。认识 Booth零依赖的开源 GPU 编译器Booth 接收 CUDA C、HIP 或 Triton 源码就是你平时交给nvcc或 Triton JIT 的那些文件然后可以编译出目标说明AMD RDNA 2/3/4直接输出 GPU 机器码.hsacoNVIDIA PTX交给驱动 JIT全程无nvccCPU x86-64主机可运行的原生目标文件无需 GPURISC-V / Tenstorrent面向特定 AI 加速芯粒的 ELF / Metalium C整个编译器唯一的构建依赖是一个 C99 编译器gcc、clang 均可没有任何第三方库。CPU 后端的实现在 src/cpu/Triton 前端的解析在 src/triton/。完整命令参考见 docs/usage.md。一键安装两分钟构建 Booth如果习惯源码构建只需要两条命令git clone https://gitcode.com/gh_mirrors/bar/Booth cd Booth make构建产物是kath这个可执行文件项目名是 Booth二进制名是 kath。确认一下工具链可用./kath doctor它会报告机器上可用的设备与工具链并做一次自检。把 Triton 矩阵乘法编译到 CPU一条命令仓库自带现成的 Triton 矩阵乘法示例 tests/tri_matmul_k.py使用tl.dot计算C A B并带有运行时 K 循环收缩维度 K 可以是任意大小还有一个无 K 循环的单 tile 版本 tests/tri_matmul.py。编译到 CPU 目标只需要一条命令./kath --triton --cpu tests/tri_matmul_k.py -o matmul.o这条命令做的事情Triton 前端解析triton.jit的 Python 源码并降到中间表示 BIRCPU 后端把 SIMT 语义展开成线程循环最终产出一个可以在普通 x86-64 主机上链接运行的目标文件。特性文档 docs/features.md 明确列出了这一能力tl.dot降级后通过--cpu运行带运行时 K 循环K 可以是任意大小。编译完成后可以顺手看一眼降级结果满足一下好奇心./kath --triton --ir tests/tri_matmul_k.py调用约定一个隐藏参数跑通 kernelCPU 后端生成的函数遵循一个统一的调用约定先按顺序传入 kernel 自己的参数最后追加一个额外参数nthreads。kernel 主体会从thread_id 0一路跑到nthreads所以一维启动时直接把元素个数传进去一次调用就能干完所有活。仓库里有一个完整的可运行驱动模板 examples/cpu_launch_vadd.c配套的 Triton 源码是 tests/tri_vadd.py照抄它的模式即可调用 matmul声明matmul_k的函数签名按参数顺序传矩阵指针、K、各维 stride 和 block 尺寸末尾补上nthreads。随后像链接任何普通 C 函数一样编译运行gcc -no-pie driver.c matmul.o -o matmul ./matmul打印C矩阵并与手算结果对照矩阵乘法就在你的 CPU 上跑通了。结果验证CPU 后端本身就是裁判怎么确认输出是对的项目把 CPU 后端当作差分测试的基准oracletests/diff/run_diff.sh 把同一个 kernel 在两个后端上各跑一遍再比对结果一旦不一致问题一定出在另一个后端的代码生成上。这套跨后端对比x86 对 RISC-V全程不需要 GPU。同时docs/hardware.md 列出了已在真实硅片上验证通过的硬件AMD MI300X、RDNA3、NVIDIA RTX 4060 Ti 等说明同一份 BIR 降级路径在 GPU 上同样正确。最后说清楚限制摘自 docs/features.mdCPU 后端正确性优先采用栈上分配的代码生成、暂无寄存器分配器tl.load的 mask 暂不生效建议让启动的nthreads等于元素个数。它跑得起来但不以快著称——这也正是它作为调试与验证工具的价值所在。同一份源码还能去哪同一个 matmul 文件换个旗标就能去别的硬件这正是 Booth 的设计初衷./kath --triton --amdgpu-bin tests/tri_matmul_k.py -o m.hsaco→ AMD GPU 机器码./kath --triton --nvidia-ptx tests/tri_matmul_k.py -o m.ptx→ NVIDIA PTX./kath run kernel.cu→ 自动检测设备编译并运行一条龙小结回顾一下你在无 GPU 笔记本上完成的完整链路构建make零第三方依赖编译./kath --triton --cpu把tl.dot矩阵乘法变成 x86-64 目标文件调用kernel 参数 末尾的nthreads一次调用跑完整个 kernel验证CPU 后端兼任差分测试裁判结果可信。没有 GPU照样能写、能编、能跑 Triton 矩阵乘法——这就是 Booth CPU 后端带给新手和普通用户的最直接福利。赞分享【免费下载链接】BoothOpen-source CUDA, Triton and HIP compiler targeting multiple GPU and CPU architectures.项目地址https://gitcode.com/gh_mirrors/bar/Booth点击查看免费下载相关推荐没有本地 GPU 时如何用 SkyPilot 在云端 GPU 上构建 LEANN 索引并同步回本地没有本地 GPU 时如何用 SkyPilot 在云端 GPU 上构建 LEANN 索引并同步回本地 LEANN 的索引构建通常运行在个人设备上但当你没有本地人工智能大模型数据库向量数据库RAG本地部署MCP 服务ChatGPTGPT-4.5 架构系统提示词全拆解Model Response Spec 内容引用协议与工具编排规范ChatGPTGPT 4.5 架构系统提示词全拆解Model Response Spec 内容引用协议与工具编排规范 导读 本文以 OpenAI/cha文档知识库突破GPU算力瓶颈Triton流水线技术如何让矩阵乘法提速3倍突破GPU算力瓶颈Triton流水线技术如何让矩阵乘法提速3倍 在深度学习和高性能计算领域GPU算力的充分利用一直是开发者追求的核心目标。Triton作为编译器编程语言人工智能深度学习高性能计算创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

AI 编程工具 2026 实战横评:Cursor 3 vs Claude Code vs Copilot,开发者选型完全指南(TaoToken 统一 Key 接入篇)

AI 编程工具 2026 实战横评:Cursor 3 vs Claude Code vs Copilot,开发者选型完全指南(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 15:12:56 阅读更多 →
世界国家GeoJSON大全:从边界数据到地图绘制的完整实战指南

世界国家GeoJSON大全:从边界数据到地图绘制的完整实战指南

简介:世界国家geojson大全是一套面向地图开发与GIS学习者的全球边界数据包,为世界各国和地区提供可直接使用的geojson多边形,数据源自Natural Earth,特别适合在Web地图、数据可视化或GIS软件中快速绘制小比例尺的精致地图。压缩包…

2026/10/11 15:12:56 阅读更多 →
为 huandu/xstrings 贡献字符串函数:入库规则、评审工作流与源码级解读

为 huandu/xstrings 贡献字符串函数:入库规则、评审工作流与源码级解读

云原生网络服务网格可观测性网络安全eBPF 【免费下载链接】cilium eBPF-based Networking, Security, and Observability 项目地址: https://gitcode.com/GitHub_Trending/ci/cilium 点击查看 免费下载 xstrings(仓库路径)是一个收录了 Go 标…

2026/10/11 15:12:56 阅读更多 →

最新新闻

工业机器视觉缺陷检测:硬件选型与成像测试全流程解析

工业机器视觉缺陷检测:硬件选型与成像测试全流程解析

简介:工业机器视觉缺陷检测涵盖光学、电子与图像处理多个领域,但网上系统资料零散,入门者常需自行摸索。这份由工程师在实际项目中整理的工作小结PPT,面向机器视觉算法、设备调试及制造产线相关读者,旨在帮助快速搭建工…

2026/10/11 17:28:17 阅读更多 →
PDF题库提取实战:PS简答题从不可复制到结构化整理

PDF题库提取实战:PS简答题从不可复制到结构化整理

简介:Photoshop基础简答题整理,面向正在学习计算机图形图像处理、准备课程考试或技能认证的读者,也可作为教师出题参考。内容覆盖矢量图与位图的特点、路径的理解、蒙板的类型与应用、图像选择与处理流程、计算机图形和图像概念的辨析、CMYK与…

2026/10/11 17:28:17 阅读更多 →
红外视频瞳孔检测:Hough粗定位与椭圆拟合的精准实现

红外视频瞳孔检测:Hough粗定位与椭圆拟合的精准实现

简介:基于Hough变换与轮廓匹配的瞳孔检测方案,来自《计算机应用》期刊2016年论文,面向图像处理与计算机视觉领域的研究人员、工程师,核心解决红外视频中瞳孔直径检测精度低的问题。算法先对每帧图像灰度化并滤波去噪,通…

2026/10/11 17:28:17 阅读更多 →
磁导航引导机器人穿刺的毫米级误差:坐标链与实验验证要点

磁导航引导机器人穿刺的毫米级误差:坐标链与实验验证要点

简介:一份关于磁导航系统引导下机器人穿刺在神经外科手术中准确性的实验研究PDF文档,面向神经外科医生、医学工程研究者及机器人辅助手术相关学习者,可作为相关课题的参考文献与专业指导。文中通过模拟颅骨模型实验,设计机器人穿刺…

2026/10/11 17:28:17 阅读更多 →
C++与OpenCV虹膜分割实战:从瞳孔定位到掩膜生成的分阶段流程

C++与OpenCV虹膜分割实战:从瞳孔定位到掩膜生成的分阶段流程

简介:这是一份面向计算机视觉初学者与图像处理方向开发者的虹膜分割实现代码,基于C与OpenCV编写,可用于生物特征识别、人眼图像分析等场景的入门实践与课程设计参考。压缩包共39个文件,约3.26MB,包含2个cpp源码文件、1…

2026/10/11 17:28:17 阅读更多 →
pnpm 的构建判定引擎:@pnpm/building.pkg-requires-build 如何判断一个包是否需要编译

pnpm 的构建判定引擎:@pnpm/building.pkg-requires-build 如何判断一个包是否需要编译

包管理器开发工具CLI 【免费下载链接】pnpm Fast, disk space efficient package manager 项目地址: https://gitcode.com/gh_mirrors/pn/pnpm 点击查看 免费下载 本指南围绕 pnpm 仓库中的 pnpm11/building/pkg-requires-build 模块展开,剖析 pnpm 在安…

2026/10/11 17:27:17 阅读更多 →

日新闻

流感时间序列预测实战: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 阅读更多 →