让 AI 自己写 GPU kernel:从「写一行 CUDA」到「闭环优化」的两年跃迁——一篇 IJCAI 2026 综述讲清楚 LLM 怎么重塑底层性能工程

  • 关联论文:2601.15727

你有没有想过这种画面:

  • 你跟一个 AI 说「帮我写一个跑得比 cuBLAS 还快的矩阵乘」;
  • 它没急着回你代码,而是先读 GPU 架构手册、再 profile 你的 shape、然后迭代十几次自己 debug;
  • 最后扔给你一份「性能 -5%、功能 100% 正确」的 Triton kernel,旁边还附一份诊断报告。

这画面在 2025 年还是 demo 级别的玩具,但 IJCAI 2026 这篇 9 页综述(arXiv 2601.15727)告诉我们:这玩意现在已经有了可对照的地图——它把过去两年「LLM 写 GPU kernel」的研究系统整理成了两条主线、四个维度、一个开源资源库。

换句话说:LLM 写 kernel 这件事,第一次有了正经的学术坐标轴

为什么这件事值得大众关注

大多数人不知道,现代 AI 跑得快不快,根本不取决于 GPU 标称的算力峰值,而是取决于底层那段叫「kernel」的代码能不能榨干硬件:

  • GEMM(矩阵乘)、attentionconvolutionsparse ops —— 每个深度学习算子在 GPU 上都要重写一遍优化版;
  • 写一个接近 cuBLAS 性能的 kernel,需要精通硬件架构、内存层级、warp 调度,工程师稀缺到「千金难求」;
  • 同一种优化往往绑死特定 GPU 代次,换卡就要重写,工程师再稀缺也补不上硬件迭代速度。

更尴尬的是,过去二十年业界试图用「编译器自动调优」(Halide、TVM、Ansor)解决——但这些工具的搜索空间、调度原语、优化先验都是人写的,覆盖不了真正的「开放空间」。

LLM 的出现改写了这一切:

  1. 它能「压缩」散落在 GitHub、技术博客、教科书里的硬件感知编程知识;
  2. Agent 框架能把 kernel 开发重写成「迭代 + 反馈」的循环,让 AI 能 fatigue-free 地长视野探索。

这篇综述就是要把这个新范式讲清楚:现在长什么样?哪些方法属于哪一类?还有哪些没解决的问题?

这篇论文核心讲了什么

一条主线一:让 LLM 本人变成 kernel 专家

这是「后训练(post-training)」流派,直接调教 LLM 让它吐代码。分两派:

A. 监督微调(SFT)派

  • KernelLLM:用 Triton 编译器自动生成 PyTorch ↔ Triton 对齐样本,通过结构化 prompt 把「计算语义 → kernel 结构」显式编码,然后做指令微调。
  • ConCuR:认为推理 trace 的清晰度直接决定 kernel 正确性,于是对 reasoning traces 做高质量筛选;训出来的 KernelCoder 在 KernelBench Level 1 上 fast1 达到 17%。
  • InCoder-32B:面向工业需求做三阶段数据流水线(pre-training → mid-training → post-training),fast1 提升到 22.2%。

SFT 的共同套路:先造一份「计算语义 ↔ kernel 实现」的对齐数据,再用结构化 prompt / 推理 trace 增强质量。门槛在数据生成与筛选成本

B. 强化学习(RL)派

RL 派的核心洞见是:必须有可执行 + 可度量的反馈

  • CUDA 方向:CUDA-L1 用 contrastive RL + LLM-as-a-judge 做密集反馈;CUDA-L2 在它之上声称在某些 workload 上超过 cuBLAS。
  • Triton 方向:Kernel-Smith 给出 evolution-oriented post-training 配方,在 KernelBench Level 1 上 fast1 = 70%;Dr. Kernel 引入分布式 GPU 环境缓解 biased policy gradient。
  • 跨硬件:AscendKernelGen 把同一范式扩展到华为 Ascend NPU,用 CoT-SFT + DPO 组合生成 AscendC kernel。
  • CUDA Agent:在大规模 agentic RL 系统里设计 skill-augmented CUDA 开发环境,用自动 verification 与 profiling 提供 reward signal,在 KernelBench Level 1 上相对 PyTorch Eager 提速 99%(论文报告 SOTA)。

RL 的共同套路:reward 既来自运行时性能,也来自结构化检查;多轮 / hierarchical / 多 agent 是缓解 reward sparse 的关键技巧。

主线二:让 Agent 闭环把整个流程接管

这是「Agentic 工作流」流派,不直接训 LLM,而是搭建一套「规划 + 工具 + 评估」的系统。论文把它拆成四个维度:

1. 学习机制(Learning Mechanisms)

  • 迭代式精炼:Caesar、PEAK、AutoKernel、MaxCode、K-Search 等,通过 test-time scaling 与 reflection 提升 kernel 质量;
  • 针对特定模型的迭代:DiffAgent 加速 diffusion kernel;TritonX 覆盖完整 PyTorch ATen backend;
  • AKO 是本综述的明星工作:把 Claude Code / OpenCode 这类通用 CLI coding agent 包一层 harness,让通用 coding agent 也能做 agentic kernel 优化,在多个 hard benchmark 上达到 SOTA。这是「通用 agent 反向赋能垂直领域」的清晰范例。
  • 基于种群的进化搜索:FM Agent、EvoEngineer、GPU Kernel Scientist、cuPilot 用 mutation + crossover + 多种群管理做长视野探索。

2. 外部记忆(External Memory Management)

复杂 kernel 优化要调用大量 CUDA API / 硬件指令集,LLM 容易幻觉或遗忘,所以需要外部「技能库 / 知识库」:

  • KernelEvolve:异构 AI accelerator 专用硬件知识库;
  • ReGraphT:把 reasoning graph 作为外部结构化记忆;
  • KernelBlaster:累积经验到可检索的持久化 CUDA 知识库;
  • KernelSkill:双层记忆架构,长期记忆里维护可复用专家技能。

3. 硬件 profiling 整合(Hardware Profiling Integration)

通用 LLM 不懂硬件,需要把硬件 spec 显式注入 prompt:

  • QiMeng 系列:TensorOp 从硬件文档蒸馏提示;GEMM 提供通用模板;Attention 把高层思考转成低层 CUDA FlashAttention;
  • SwizzlePerf:专注 swizzling 模式优化 L2 命中率;
  • CUDA-LLM:把 warp size、cache size 等 GPU spec 注入 prompt。

4. 多智能体编排(Multi-Agent Orchestration)

把整个工作流拆给多个专职 agent 协作。这一维度还在早期,分类意义大于实证意义

一个杀手锏:开源资源库

论文配套维护了一份 GitHub 仓库 flagos-ai/awesome-LLM-driven-kernel-generation,核心贡献是:

  • 把分散的训练数据(PyTorch ↔ Triton ↔ CUDA)按结构化组织;
  • 提供面向 RAG 的文献集合。

这是综述最具长期价值的部分——它把「想做 LLM-for-kernel 的新人需要找数据集、找 baseline、找论文」的痛点一次性解决。

为什么这件事对 2026 年的 AI 工程至关重要

如果你是下面任一种角色,这篇综述几乎是必读:

  • AI Infra 平台工程师:评估「是否投入 LLM 自动 kernel 优化」时,它提供了当前 SOTA 水平与生态成熟度的整体判断;
  • GPU kernel / 性能优化工程师:可作为「我现在能把哪些活儿交给 LLM / Agent」的地图;
  • RL + code 方向研究者:kernel benchmark 上的 reward design 是值得复用的范本;
  • 企业 CTO / 技术决策者:用一篇综述建立完整的技术雷达,避免被零散论文误导。

更关键的是,它给出了一个干净的方法分类坐标

  • LLM 直出 vs Agent 闭环;
  • Agent 内部分成「学习机制 / 外部记忆 / 硬件 profiling / 多 agent」四象限;
  • 覆盖广到 SFT、RL、agentic loop、进化搜索、跨硬件(CUDA / Triton / AscendC / HIP)。

下次再看到「LLM 写 CUDA」的新论文,你只需要把它往这套坐标轴上一放——它属于哪一类、解决了哪一环、还有什么空白,三秒钟就能定位。

三处落地风险别踩

风险 1:fast1 数字别轻信

论文里复述的「fast1 = 70%」「提速 99%」等数字都源自被引工作的原文,评测口径在不同论文里差异极大(KernelBench 各 level、PyTorch Eager vs cuBLAS baseline 都不同)。工程上不要拿这些数字做性能承诺,必须自己跑分验证

风险 2:多智能体编排维度偏薄

论文指出「Multi-Agent Orchestration」分类意义大于实证意义。如果你的方案依赖多 agent 编排,不要把综述当依据——它只是告诉你「这个方向被关注」,没告诉你「哪个实现能用」。

风险 3:跨论文评测不可对齐

不同工作用 KernelBench 不同 level、不同 baseline、不同 metric(fast1 / runtime / 相对 PyTorch 提速)比较,综述提到这点但未提出统一评测协议。这意味着你看到的 SOTA 数字可能根本不能横向比。

写在最后

这篇综述最有价值的,不是某一个数字或某一个方法,而是它把一个混乱的领域第一次拉到了同一张地图上

  • 两条主线(LLM 直出 / Agent 闭环);
  • 四个维度(学习机制 / 外部记忆 / 硬件 profiling / 多 agent);
  • 一个开源资源库(数据集 + baseline + 论文索引)。

下次有人跟你说「我们用 LLM 自动优化 kernel」,你只需要问三个问题:

「你的方法是 LLM 直出还是 Agent 闭环?」 「你的 reward signal 来自运行时性能还是结构化检查?」 「你的 fast1 数字是在 KernelBench 哪个 level、对比哪个 baseline 跑出来的?」

——三个问题就能把对方的方案放到这套坐标轴上判断。

LLM 写 CUDA 这件事,从 2025 年的 demo,正式进入了 2026 年的工程图谱。


延伸阅读 - 论文:arXiv 2601.15727(IJCAI 2026 综述:Towards Automated Kernel Generation in the Era of LLMs) - 开源资源库:https://github.com/flagos-ai/awesome-LLM-driven-kernel-generation - 同方向工作:CUDA-L1 / CUDA-L2(RL 派代表)、Kernel-Smith(Triton RL 代表)、AKO(通用 coding agent 接入 kernel 优化的范例)、AscendKernelGen(跨硬件 AscendC 范例) - 工程模板:AKO harness(Claude Code / OpenCode + kernel test harness)是当下工程可行性最高的 entry point

三个标题变体

  1. 让 AI 自己写 GPU kernel:从「写一行 CUDA」到「闭环优化」的两年跃迁——一篇 IJCAI 2026 综述讲清楚 LLM 怎么重塑底层性能工程
  2. 别再手写 CUDA 了!IJCAI 2026 这篇 9 页综述告诉你:LLM 写 kernel 现在长什么样、还有哪些坑
  3. 一篇综述把 LLM 写 GPU kernel 的地图画全了:从 SFT 到 RL,从单 agent 到多 agent,从 CUDA 到 AscendC

小红书风格卡片文案(可直接发布)

🤖 你让 AI 写 CUDA,它会听话吗?

IJCAI 2026 有篇 9 页综述 📄(arXiv 2601.15727) 把过去两年「LLM 写 GPU kernel」的所有研究 拉到了同一张地图上

画了两条主线

🔹 主线一:让 LLM 本人变 kernel 专家 - SFT 派:KernelLLM / KernelCoder / InCoder-32B - RL 派:CUDA-L1、CUDA-L2、Kernel-Smith、CUDA Agent - 跨硬件:AscendKernelGen(Ascend NPU)

🔹 主线二:让 Agent 闭环接管整个流程 拆成四个维度: 1️⃣ 学习机制(迭代精炼 / 进化搜索) 2️⃣ 外部记忆(KernelEvolve / KernelSkill) 3️⃣ 硬件 profiling(QiMeng / SwizzlePerf) 4️⃣ 多 agent 编排(还在早期 ⚠️)

最值得高亮的工作 💡:

  • CUDA Agent:KernelBench L1 相对 PyTorch Eager 提速 99%(SOTA 报告)
  • Kernel-Smith:Triton RL 在 KernelBench L1 达到 fast1 = 70%
  • AKO:把 Claude Code 包一层 harness 直接做 kernel 优化,通用 coding agent 反向赋能垂直领域的清晰范例

配套的 GitHub 仓库 flagos-ai/awesome-LLM-driven-kernel-generation杀手锏 🔥: - 数据集、baseline、论文索引一次齐 - 想要入坑 LLM-for-kernel 的新人再也不愁找资料

工程落地点 🛠️:

1️⃣ 别从零训模型——先用 AKO harness 接入 Claude Code,把 KernelBench L1 接到 CI 2️⃣ 代码正确性优先——CI 里必须跑 numerical correctness test(vs cuBLAS 误差 < 1e-5) 3️⃣ 别轻信 fast1 数字——必须同时报告相对 cuBLAS / FlashAttention 的 runtime ratio 4️⃣ 硬件知识库是护城河——把 CUDA programming guide + internal benchmark log 做成 RAG 5️⃣ 跨硬件落地顺序:CUDA → HIP → AscendC(成熟度递减)

⚠️ 必须警惕的边界: - 论文复述的 fast1 数字源自被引原文,未逐一回溯,引用前请核对各原文献 - 多智能体编排维度论证偏薄,分类意义大于实证意义 - 跨论文评测口径不一致,fast1 / runtime / 相对 PyTorch 提速不能直接对齐 - 综述本身不提供参考实现,工程可行性必须独立验证 - 资源库靠社区维护,存在条目滞后风险

📎 论文 ID:2601.15727

💬 评论区聊聊:你觉得「LLM 自动写 kernel」这件事,2027 年能进生产环境吗?🤔