@dogacel0: 在初始发布4个月后,"auto-gpu-kernel" 版本 1.0 终于发布!这是一个完全自主的内核生成…

X AI KOLs Following 工具

摘要

Auto-GPU-Kernel 版本 1.0 已发布,这是一个自主的 GPU 内核生成和优化工具,在 MLSys 2026 FlashInfer AI Kernel Generation Contest 中排名第一,平均加速比为 34.93 倍。

在初始发布4个月后,"auto-gpu-kernel" 版本 1.0 终于发布! 这是一个完全自主的内核生成 "meta-harness",它同时进化内核和 harness 层,生成超光速内核 🧵 https://t.co/CxlLrRBpYM
查看原文
查看缓存全文

缓存时间: 2026/09/16 07:56

4个月后,“auto-gpu-kernel” 1.0版终于正式发布!这是一个完全自主的内核生成“元框架”,能够同时进化内核本身与框架层,从而生成极速内核 🧵 https://t.co/CxlLrRBpYM — # Dogacel/auto-gpu-kernel 来源:https://github.com/Dogacel/auto-gpu-kernel # Auto GPU Kernel 🏆 自主 GPU 内核发现与优化器。支持 flashinfer 格式以及一种自定义格式,可针对任何 Git 仓库的自然语言任务构建其自身的运行框架。技术报告 在 MLSys 2026 - FlashInfer AI 内核生成大赛 (https://mlsys26.flashinfer.ai/) DeepSeek 稀疏注意力 (DSA) 赛道中排名第一,平均加速比达 34.93 倍。提交记录与优化后的内核可在 archive 中找到。 - kopt 工具用于运行优化代理。 - kbench 工具负责验证、基准测试及代理历史记录。 > 为什么在其他框架或 /goal 之外选择 auto-gpu-kernel? > > auto-gpu-kernel 的设计源于在 FlashInfer 内核生成竞赛中,通过数月努力和研究为代理总结出的内核工程最佳实践。它解决了代理的常见陷阱,例如将噪声结果误认为改进,或因测量噪声而错过各种优化。当然,研究与优化循环可以做得更花哨,例如添加许多子代理,但我的经验表明,只要为代理的解决方案和加速比设置一个稳健的验证管道,其他方面的影响相对较小。其他框架通常难以建立良好的验证管道,代理要么会逐渐绕过它,要么会陷入局部最优解。 > > 我的设计座右铭是:“不要包含任何由AI生成的长篇指令。这些指令可以通过AI自身在足够的尝试后自行生成。只给代理提供它需要遵循的关键原则,让代理明白什么才是真正重要的。” ## 安装 你需要 Python 3.11+、uv (https://docs.astral.sh/uv/) 和 OMP (https://github.com/can1357/oh-my-pi)。 bash uv venv --python 3.12 source .venv/bin/activate # 任意本地仓库 uv pip install -e ".[agent]" # FlashInfer:在带有 GPU 的 Linux 上选择 local,或从任何机器上选择 modal # uv pip install -e ".[agent,local]" # uv pip install -e ".[agent,modal]" 确保 omp + 你的模型提供商已就绪。 bash omp ## 运行 FlashInfer 内核 下载跟踪数据集: bash git lfs install git clone https://huggingface.co/datasets/flashinfer-ai/mlsys26-contest 如果使用云提供商,则上传它: bash modal setup modal volume create flashinfer-trace modal volume put flashinfer-trace ./mlsys26-contest/ 创建项目并运行三次迭代: bash kopt init ./mlsys26-contest/definitions/dsa_paged/dsa_topk_indexer_fp8_h64_d128_topk2048_ps64.json \ --backend modal --gpu B200 cd work/dsa_topk_indexer_fp8_h64_d128_topk2048_ps64 kbench bench --quick kopt run . -n 3 --model anthropic/claude-opus-5 --thinking low 有用的基准测试命令: bash kbench bench --quick # 最小和最大工作负载 kbench bench --stride 2 # 一半的工作负载 kbench bench # 完整运行 kbench ab --a experiments/exp_3/solution_fused.py ## 开发 examples/mlx-attention/ 包含一个小型的朴素 MLX 注意力机制及其测试和基准。 configs/mlx_attention.toml 以它为目标,因此你可以在 Apple Silicon 上无需远程仓库或 GPU 云即可练习整个任务模式循环: bash uv pip install mlx pytest kopt init-task configs/mlx_attention.toml kopt run work/mlx-attention -n 5 --model anthropic/claude-opus-5 --thinking low 首次运行会花一个设置轮次来生成 harness/,测量原始基准线(在 M4 Pro 上几何平均约 2.7 ms;融合的 mx.fast 操作约需 ~0.9 ms),然后开始优化 attention.py。 ## 针对任意 Git 仓库运行 编写一个简短的 task.toml。用自然语言描述任务;设置代理将检查仓库并构建基准测试框架。 toml [task] name = "my-project" workdir = "repo" objective = """ 在不更改公共 API 或模型输出的前提下加速推理。优化器可以更改 src/runtime/ 以下的代码。 """ measure = """ 测量 examples/serve.py 中代表性示例的端到端延迟。延迟越低越好。包括预热,并在计时前同步 GPU。 """ validate = """ 运行现有正确性测试,并将示例的输出与未修改的仓库进行比较。输出必须完全匹配。 """ hints = "从解码循环中的内存分配和重复内核启动入手。" [task.repo] url = "[email protected]:my-org/my-project.git" base = "main" branch = "me/auto-optimize" # 或者,对于一个简单的本地目录(相对于此文件),作为新仓库进行快照: # path = "../my-project" [task.hardware] gpus = 1 gpu = "H100" 设置代理通过编写 harness/validate.py 和 harness/benchmark.py 来实现生成的任务适配器,然后才进行首次运行。生成的任务适配器目前在本地机器上运行,因此目标仓库的依赖项和任何必需的 GPU 必须在那里可用。然后搭建并运行: bash kopt init-task task.toml # 创建 work/ kopt run work/my-project -n 20 --model anthropic/claude-opus-5 --thinking low 在首次运行中,kopt 使用一个设置轮次来检查未修改的克隆并生成验证和基准适配器。然后 Kbench 运行原始的快速和完整基准线。在设置完成后开始请求的 20 次优化迭代。 要检查或重新运行设置代理所做的操作: bash cd work/my-project cat harness/README.md kbench bench --quick # 快速验证 + 快速测量 kbench bench # 完整验证 + 记录的指标 kbench ab --a # 为 A 和 B 使用相同的当前框架 ## 观看一次运行 bash kopt watch . 打开 . text config.toml 人类任务简述 harness/validate.py 生成的快速/完整正确性适配器 harness/benchmark.py 生成的快速/完整测量适配器 harness/prepared.json 原始基准元数据 .omp/ 项目本地代理指令 .kopt/runs/ 代理日志 .kopt/bench.jsonl 基准历史 experiments/ 实验笔记和快照 ## 架构 FlashInfer 和任意仓库使用相同的 BenchmarkAdapter: - FlashInferAdapter 打包内核源码,并通过本地或 Modal 执行后端发送它们。 - GeneratedTaskAdapter 运行由设置代理创建的仓库特定的验证和基准脚本。 - Kbench 为两种适配器提供快速/完整执行、标准化测量、历史记录和配对的 A/B 测试。 参见 kbench/README.md 和 kopt/README.md 了解小型类图。

相似文章

@Akashi203: 我开源了 AutoMegaKernel —— 将任意 HuggingFace 模型编译成一个持久的单一兆核,batch-1 解码带宽受限……

X AI KOLs Timeline

AutoMegaKernel 是一个开源代理框架,能将任意 HuggingFace 模型编译成一个持久的单一兆核(megakernel),将整个前向传播融合到一次 GPU 启动中,从而减少开销。在 L4 和 L40S 等推理级 GPU 上,它相比使用 CUDA Graph 的 cuBLAS 实现了最高 1.33 倍的加速,同时保证调度没有死锁和竞争条件。