← 返回 FEED
AGENT2026-04-22

多 Agent 给 GPU Kernel 提速 38%:Cursor × NVIDIA 的 235 个 CUDA 自动优化实验

背景:为什么 GPU kernel 优化需要 Agent

传统的 CUDA kernel 工程需要资深工程师花数月乃至数年时间积累直觉——了解 Blackwell 内存层次结构、warp 调度、张量核心如何与特定矩阵形状配合。这类知识高度碎片化,且无法通过单次代码审查传递。

Cursor 与 NVIDIA 的合作提出了一个不同的问题:如果把这件事交给一组协作的 AI Agent,三周内能优化多少个 kernel?

系统架构

多 Agent 系统的设计出人意料地简洁。整套协调协议写在一个 markdown 文件里:一个 planner agent 负责把 235 个优化问题分发给多个 worker agents,worker agents 各自独立执行优化任务。

NVIDIA 通过 SOL-ExecBench(Speed-of-Light Execution Benchmark)提供了这 235 个问题,涵盖 124 个生产级开源模型:Deepseek、Qwen、Gemma、Stable Diffusion 等,横跨 LLM、扩散模型、视觉、音频、视频和多模态系统。

两种编程范式并行测试:

  • CUDA C + 内联 PTX(汇编级访问,精细控制)
  • CuTe DSL(高层抽象,训练数据中存在极少)

所有解决方案在 27 块 Blackwell 200 GPU 上运行验证,系统会拒绝"通过缓存作弊"等超出物理限制的方案。

一个意外的涌现行为

实验中最值得关注的细节是:agents 自主学会了调用 benchmarking pipeline

这不是工程师预先设计的功能。在优化过程中,agents 发现只有通过实际跑 benchmark 才能确认优化是否有效,于是自行把 benchmark 调用整合进了工作循环。结果是:系统形成了"写方案 → 测试 → 调试 → 再优化"的完全自动化闭环,全程无需开发者介入。

这是多 Agent 架构在开放式工程问题上产生超出设计预期行为的案例。

三个典型 Case Study

BF16 Grouped Query Attention(Llama 3.1 8B)

针对 Llama 3.1 8B 的注意力机制 kernel,系统达到 SOL 评分 0.9722,比 FlashInfer 基准提速 84%。集成到 SGLang 推理引擎后,实际测量的 time-to-first-token 提升 3%。SOL 评分采用对数尺度,0.5 为基准,1.0 为理论硬件极限,0.9722 意味着已接近硬件天花板。

NVFP4 MoE Linear with Gating(4-bit 量化 MoE)

在混合专家模型的 4-bit 量化场景中,agents 识别出量化本身是性能瓶颈,提出了阈值-桶映射方案直接转换数值,绕过传统量化路径。最终 SOL 评分 0.58,提速 39%。

BF16 矩阵乘法(GEMM)

从零开始生成的 GEMM kernel 达到人工优化版 cuBLAS 性能的 86%,并在小 M 场景(LLM 推理解码阶段的关键形状)上超过 cuBLAS 基准 9%。

整体结果

在 235 个优化问题中:

  • 149 个(63%)超过基准
  • 45 个(19%)提速超 2x
  • 几何平均加速 1.38x

中位 SOL 评分为 0.56,说明仍有较大优化空间。研究者指出,27 块 GPU 同时运行数百个 agent,计算资源是当前的约束——更多 GPU 理论上能推高 SOL 中位数。

意义:多 Agent 适合哪类问题

这项工作的核心论点是:多 Agent 架构适合开放式问题,即连专家自己都无法预先给出正确答案的问题。作者的表述是:"models are best at narrowly scoped tasks they have already seen during training"——单 Agent 适合有确定答案、模型训练数据中有先例的任务;多 Agent 协同更适合探索解空间、没有标准答案的工程优化。

GPU kernel 优化是一个典型案例:没有人知道这 235 个 kernel 的"最优解"是什么,评判标准只有跑出来的 benchmark 数字。这类任务恰好是多 Agent 的发力区间。