OpenBMB/ForgeKernel
一个自我演进的 GPU 内核智能体,通过把每个通过验证的内核升级为下一轮参考,持续优化 CUDA 与 CuTe DSL 内核。
- Star
- 282
- Fork
- 39
- 未关闭 Issue
- 1
- 最近提交
- 3天前
这是什么?
ForgeKernel 从一个已有的参考 GPU 内核出发,在目标硬件上测量其耗时与性能剖面,然后生成以架构为先的里程碑计划,交由编码智能体逐步实现。每个通过验证的内核都会成为下一代的参考,因此优化可以超越已知的最佳实现。经 GPU 探针验证的硬件机制会按 GPU 架构存入知识库,并在不同算子之间复用。
该工具面向 NVIDIA Hopper(sm90)和 Blackwell(sm100)GPU,支持 CuTe DSL 与 CUDA C++ 任务。任务由算子描述、一组形状和 task.toml 配置定义,forge 命令行工具可在本地或通过 SSH 运行优化循环。每次运行会输出报告和最佳内核源码,自我演进脚本会串联多代优化,直到收益低于测量噪声水平。
仓库还发布了项目生成的注意力、稀疏注意力、线性注意力、GEMM 和卷积算子内核,并附有其加速比与测试环境说明。
核心功能
- 01将参考内核转化为以架构为先的里程碑计划,交由编码智能体实现。
- 02每个通过验证的内核自动成为下一代参考,实现多代串联优化。
- 03进行正确性判定,与参考内核对比计时,并用 Nsight Compute 做性能剖析。
- 04将经 GPU 探针验证的硬件机制按架构存入知识库。
- 05支持本地或通过 SSH 在远程 GPU 上运行 CuTe DSL 与 CUDA C++ 任务。
适用场景
- 在 Hopper 或 Blackwell GPU 上优化 PyTorch 算子或自定义内核。
- 运行长时间无人值守的内核调优任务,并查看生成的报告。
- 研究项目发布的注意力、GEMM 或卷积内核实现。
快速上手
- 1
克隆仓库
- 2
创建虚拟环境并安装 ForgeKernel
python3 -m venv .venv && source .venv/bin/activate && pip install -e . - 3
安装推荐的 CuTe DSL 包
pip install nvidia-cutlass-dsl - 4
检查安装的版本
forge --version
使用前须知
- 需要 NVIDIA Hopper (sm90) 或 Blackwell (sm100) GPU。
- 需要 Claude Code CLI 并登录,或设置 ANTHROPIC_API_KEY。
- 单次运行需要数小时,示例在 B200 上约 1.5 小时达到 5.2 倍。
- 项目处于早期阶段,仅有 8 颗星,版本为 0.1.0。
收录于专题
标签
常见问题
- ForgeKernel 是什么?
- 一个自我演进的 GPU 内核智能体,通过把每个通过验证的内核升级为下一轮参考,持续优化 CUDA 与 CuTe DSL 内核。 ForgeKernel 从一个已有的参考 GPU 内核出发,在目标硬件上测量其耗时与性能剖面,然后生成以架构为先的里程碑计划,交由编码智能体逐步实现。每个通过验证的内核都会成为下一代的参考,因此优化可以超越已知的最佳实现。经 GPU 探针验证的硬件机制会按 GPU 架构存入知识库,并在不同算子之间复用。
- ForgeKernel 可以免费使用吗?用的什么许可证?
- ForgeKernel 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- ForgeKernel 还在维护吗?
- 活跃维护中。ForgeKernel 最近一次提交是在 2026年11月4日。
- ForgeKernel 适合用来做什么?
- 在 Hopper 或 Blackwell GPU 上优化 PyTorch 算子或自定义内核。 运行长时间无人值守的内核调优任务,并查看生成的报告。 研究项目发布的注意力、GEMM 或卷积内核实现。
- ForgeKernel 怎么安装和运行?
- 克隆仓库 创建虚拟环境并安装 ForgeKernel: python3 -m venv .venv && source .venv/bin/activate && pip install -e . 安装推荐的 CuTe DSL 包: pip install nvidia-cutlass-dsl 检查安装的版本: forge --version
- 在哪里获取 ForgeKernel?
- 源代码和安装说明在 GitHub 上:https://github.com/OpenBMB/ForgeKernel
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
NCCL 是英伟达的 GPU 集合通信库,提供 all-reduce、all-gather 等优化原语,用于单机和多机训练。
基于 C++20 的头文件库,以 NumPy 风格的张量表达式在 NVIDIA GPU 或多线程 CPU 上进行数值计算,支持可选的内核融合。
开源 CUDA 学习笔记与代码合集,包含 200 多个内核,涵盖 HGEMM、FP8/FP4 GEMM 与 Flash-Attention。
面向 HPC 与 AI 负载的统一集合通信库与 API,支持 CPU、GPU 及硬件加速器上的集合操作。