OpenBMB/ForgeKernel
机器学习从参考内核出发自动剖析、分阶段实现并代际演进的 GPU 内核优化智能体,面向高性能算子开发者。
项目介绍
ForgeKernel 解决的是高性能 GPU 内核开发中专家门槛高、迭代慢的问题。它从一个参考内核出发,通过运行、计时和剖析得到其架构特征,再蒸馏成「架构优先」的里程碑课程:架构智能体(paper 中称 teacher)在 M0 阶段确定内核拆分、tile 形状、warp 分工和寄存器/共享内存预算并冻结,编码智能体(student)在该结构内逐项实现,GPU 作业负责校验正确性、计时和 profiling。通过验收的内核会被提升为下一代的参考内核,硬件探针确认的机制沉淀到按 GPU 架构划分的知识库(hw_kb/)。适用对象是使用 NVIDIA Hopper 或 Blackwell 加速卡做算子性能优化的工程师和研究者,而不是一般 Python 开发者。
快速使用
控制机需要 Linux 或 macOS、Python ≥ 3.11、git 和已登录(或配置 ANTHROPIC_API_KEY)的 Claude Code CLI;GPU 机需要 Hopper(sm90)或 Blackwell(sm100)GPU,以及带 CUDA 的 PyTorch。CuTe DSL 任务建议安装 nvidia-cutlass-dsl,Nsight Compute 可选。
cd ForgeKernel
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
pip install nvidia-cutlass-dsl
forge --version # forgekernel 0.1.0
随后复制 local.env.example 为 local.env,选择 FK_DELIVERY=local,或用 ssh 并填写 REMOTE_HOST、REMOTE_WORKDIR。运行仓库自带的 RMSNorm 任务:
forge new tasks/rmsnorm --dry-run # 校验任务并打印计划
forge new tasks/rmsnorm # 生成 .artifacts/rmsnorm_<id>
tmux new -s forge 'forge run .artifacts/rmsnorm_<id>'
forge status .artifacts/rmsnorm_<id>
运行结束后产物目录下会有 report.md 和 best/kernel.py。文档中的 B200 示例在约 1.5 小时后达到 PyTorch 参考实现的 5.2×。forge run 在达到目标时返回 0,否则返回 2。完整流程参考 docs/design/v1-launch.md,安装与任务运行步骤见 README 快速开始。
编写任务与自进化
forge init <op> 会复制 tasks/_template/,需要填写 description.md、shapes.json 和 task.toml;是否包含 reference 段落决定 source、blackbox、generate 或 leaderboard 四种模式。默认目标是设备时间的 1.2×、4 小时循环、3 轮 teacher 迭代。要连续代际演进,运行 python scripts/self_evolve.py tasks/<op> [--step 1.05] [--max-gen N],脚本会生成 tasks/<op>-g<k>/,把上一代最优内核复制为参考;当增益落入噪声地板或未确认最优内核时停止。
使用约束
- GPU 仅支持 NVIDIA Hopper 和 Blackwell;paper 中覆盖四类算子家族。
- 需要前沿模型 API 访问和每次数小时的 GPU 时间,智能体在驱动脚本写入的策略内绕过权限,应在专用机器上运行。
- 有参考实现时效果最好;paper 的消融实验表明缺少参考会停滞。
- 自进化在噪声地板处停止只是估计,不代表不存在进一步优化空间。
- 代码采用 Apache-2.0 许可证;排行榜评测器改编了 FlashInfer-Bench 和 SOL-ExecBench 的代码,详见 NOTICE。
HotRepo 点评
该项目于 2026-11-03 首次进入本站 Python 新项目榜,报告在 2026-11-02 至 2026-11-03 约 24 小时内净增 60 Star、7 Fork。最近 8 天 Star 采样从 2026-10-31 的 103 增长到 202,其中 2026-11-03 01:45–03:45 UTC 由 172 快速升至 200。项目没有全部语言日榜名次记录,因此可见热度集中在 Python 新项目范围,而非更广榜单。README 中 FlashInfer-Bench、CANN-Bench 的榜一说法为作者自述,本数据未独立验证;读者可直接核查的是仓库内发布的 kernels/ 目录和演进脚本。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。