RightNow-AI/autokernel
一套自主 Agent 流程,可分析 PyTorch 模型并用 Triton 或 CUDA C++ 优化其中的瓶颈 GPU 内核。
- Star
- 1,620
- Fork
- 164
- 未关闭 Issue
- 16
- 最近提交
- 前天
这是什么?
AutoKernel 接收任意 PyTorch 模型,用 torch.profiler 按 GPU 耗时对内核排序,并将耗时最高的若干内核抽取为独立的 Triton 或 CUDA C++ 内核。编码 Agent 每次只修改一个内核文件,运行包含五阶段正确性检查和 roofline 分析的固定基准测试,并决定保留或回滚改动。调度器基于 Amdahl 定律判断何时转向下一个内核。
项目面向 NVIDIA GPU,内置 matmul、softmax、layernorm、rmsnorm、flash attention、融合 MLP、交叉熵、旋转位置编码和 reduce 等起始内核,并附带 GPT-2、LLaMA、BERT 的独立模型定义。它还集成了 KernelBench 基准,可对其问题进行迭代优化。实验结果记录在 TSV 文件中,优化后的内核可导出到 HuggingFace Hub。
核心功能
- 01对任意 PyTorch 模型做性能分析,按 GPU 耗时排序内核并区分计算密集或访存密集。
- 02通过 --backend 参数将瓶颈内核抽取为 Triton 或 CUDA C++ 文件。
- 03性能测量前先运行多阶段正确性检查,错误的快速内核会被直接回滚。
- 04依据 Amdahl 定律按端到端影响排定内核优化顺序。
- 05将优化后的内核放回完整模型中验证端到端正确性并报告总加速比。
- 06集成 KernelBench,并可将内核导出到 HuggingFace Hub。
适用场景
- 通过夜间自动优化最慢的 GPU 算子,加速自定义 PyTorch 模型的推理或训练。
- 在边界清晰的 GPU 性能任务上试验自主编码 Agent。
- 基于 KernelBench 问题评估 AI 生成内核与 PyTorch 参考实现的性能差异。
- 将手工调优的 Triton 或 CUDA 内核打包并分享到 HuggingFace。
快速上手
- 1
安装 uv(或按 README 中的官方 uv 安装说明操作)
- 2
克隆仓库
git clone https://github.com/RightNow-AI/autokernel.git - 3
在克隆下来的目录中安装依赖
uv sync - 4
运行一次性设置以生成测试数据和基线,然后验证基准测试
uv run prepare.py
使用前须知
- 需要 NVIDIA GPU;README 中仅报告在 H100、A100 和 RTX 4090 上测试过。
- 需要 Python 3.10+ 和 uv。
- 运行优化代理需要额外的编码代理,例如 Claude 或 Codex。
收录于专题
标签
常见问题
- autokernel 是什么?
- 一套自主 Agent 流程,可分析 PyTorch 模型并用 Triton 或 CUDA C++ 优化其中的瓶颈 GPU 内核。 AutoKernel 接收任意 PyTorch 模型,用 torch.profiler 按 GPU 耗时对内核排序,并将耗时最高的若干内核抽取为独立的 Triton 或 CUDA C++ 内核。编码 Agent 每次只修改一个内核文件,运行包含五阶段正确性检查和 roofline 分析的固定基准测试,并决定保留或回滚改动。调度器基于 Amdahl 定律判断何时转向下一个内核。
- autokernel 可以免费使用吗?用的什么许可证?
- autokernel 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- autokernel 还在维护吗?
- 活跃维护中。autokernel 最近一次提交是在 2026年11月5日。
- autokernel 适合用来做什么?
- 通过夜间自动优化最慢的 GPU 算子,加速自定义 PyTorch 模型的推理或训练。 在边界清晰的 GPU 性能任务上试验自主编码 Agent。 基于 KernelBench 问题评估 AI 生成内核与 PyTorch 参考实现的性能差异。 将手工调优的 Triton 或 CUDA 内核打包并分享到 HuggingFace。
- autokernel 怎么安装和运行?
- 安装 uv(或按 README 中的官方 uv 安装说明操作) 克隆仓库: git clone https://github.com/RightNow-AI/autokernel.git 在克隆下来的目录中安装依赖: uv sync 运行一次性设置以生成测试数据和基线,然后验证基准测试: uv run prepare.py
- 在哪里获取 autokernel?
- 源代码和安装说明在 GitHub 上:https://github.com/RightNow-AI/autokernel
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
FlashAttention 官方实现,一种节省显存的精确注意力计算内核,用于 GPU 上 Transformer 模型的训练与推理。
NVIDIA 维护的 PyTorch 扩展,提供混合精度与分布式训练工具及可选的融合 CUDA/C++ 内核。
一个将深度神经网络编译为 CUDA/HIP C++ 代码、用于 NVIDIA 和 AMD GPU 高性能推理的 Python 框架。
一套可在 Claude Code、OpenCode、Codex 中使用的技能,以“修改-验证-保留或回滚”的循环自动迭代优化目标指标。