项目主页:http://www.kernelpilot.com
体验地址:http://www.kernelpilot.com/index.php/tool
GitHub:https://github.com/KernelPilot
你有没有过这样的经历?
明明费尽力气写出了一个 CUDA Kernel,逻辑没错,也能编译通过,但一跑起来,慢得像爬 。
而资深工程师调出来的 Kernel,往往只靠几个改动,就可以实现天差地别的效果。
这背后的问题是:CUDA 编程实在是太硬核了。编译通过、逻辑正确只是开始的一小步,性能调优过程才是与硬件斗智斗勇的过程。
但现在,上海交大 KernelPilot 团队带来了一个全新的解决方案:让大模型来写高性能的 CUDA Kernel。
他们目前推出的KernelPilot-v1不仅使得 LLM 生成了正确的 CUDA Kernel,还能优化到比人类更快,比 TensorRT 更快的水平!
目前,介绍KernelPilot-v1的论文CUDA-LLM也已经在项目主页公开了。
告别手动调优,AI 直接写出高效 CUDA
传统意义上,我们指望 LLM 能写点 Python 脚本就算不错了。至于写 CUDA Kernel ?大多数人觉得“基本不可能”。
毕竟,CUDA 不是普通代码。它需要:
语法正确(能编译)
功能正确(结果对)
性能极致(跑得快)
前两项 LLM 勉强能应付,但第三项——“跑得快”,涉及的是对 GPU 的深层理解。
但 KernelPilot 做到了。他们提出了一套名为Feature Search and Reinforcement (FSR) 的新框架,让 LLM 也能生成出性能更好的 CUDA Kernel。
FSR:让 AI 像人类专家一样“思考+试错+进化”
FSR 的核心思想很简单:别指望 AI 一次写好,而是让它边写、边测、边改,像程序员一样迭代优化。
整个过程分为三步:生成 验证 强化反馈。
第一步,多维特征验证,层层把关
FSR 不像普通代码生成那样“写完就完”,而是引入了三个关键“质检员”:
编译验证器(Compilation Verifier):检查代码能否成功编译。如果有语法错误,直接返回报错信息,告诉 AI “你哪里写错了”。
🧪功能验证器(Function Validator):把 AI 生成的 kernel 跑起来,对比输出是否和标准答案一致。哪怕差一点点,也算错。
⏱️性能剖析器(Performance Profiler):在真实 GPU 上测量执行时间,记录延迟、带宽、利用率等指标,告诉 AI:“你这个版本比上一个慢了 20%”。
这三个模块构成了一个闭环反馈系统,确保 AI 生成的代码不仅“看起来对”,而且“真的对”、“跑得快”。
第二步,强化反馈,AI 学会“为什么快”
最厉害的地方来了:当 AI 写出一个更快的 kernel 时,系统不会止步于“哦,这个快”,而是会把性能信息整合,让 AI 继续探索可能优化的方向。
举个例子 :
在 矩阵转置(Matrix Transpose) 任务中,人类写的 baseline kernel 每元素做一次分散读写,导致内存未合并,带宽利用率极低。
而 KernelPilot-v1 生成的版本,自动采用了分块(tiling)+共享内存+循环展开的技术,将 DRAM 带宽打满,最终实现104 倍加速!
更惊人的是,这个优化不是预设的,而是 AI 在多次尝试后“自己发现”的。系统通过性能反馈不断强化这种模式,让 AI 逐渐“学会”什么是高效的 CUDA 写法。
第三步,流式搜索,越练越强
FSR 采用“多轮搜索”策略:
初始 prompt 输入任务描述、host code、GPU 型号等信息;
LLM 生成 N 个候选 kernel;
全部送入三重验证;
如果没有一个通过,就把错误信息反馈回去,让 AI 重写;
如果有多个通过,选出最快的那个,用它的代码和性能数据构造新的 prompt,继续优化。
这个过程就像 AI 在“刷题”:每次失败都积累经验,每次成功都总结模式,最终进化出远超人类平均水平的代码能力。
FSR 不仅能生成代码,还能提炼出通用的优化策略,比如:
“使用warp shuffle减少同步”
“分块大小设为32×32以匹配warp粒度”
“启用#pragma unroll提升指令级并行”
这些知识可以迁移到其他任务中,形成“AI专家经验库”。
实测结果:最高提速 179 倍!
研究团队在 20 个典型 CUDA 任务 上测试了 KernelPilot-v1,涵盖AI 核心算子(如 LayerNorm、Attention)、科学计算(Monte Carlo 积分)、基础算法(排序、归约)等。
测试平台包括:
GTX 1660 SUPER(Turing 架构,边缘端)
RTX 3090 Ti(Ampere 架构,服务器级)
在多个任务中,AI 生成的 CUDA kernel 甚至超过了手写优化版本,达到了接近硬件极限的性能。
而且,所有任务的功能正确率达到了 100%—— 没有一个出错!
相比之下,直接让 LLM 生成 CUDA 代码(无 FSR),在多个任务上连编译都通不过,或结果错误。
不仅如此,研究团队还将 KernelPilot-v1 拿到“硬核考场”,与 TensorRT 正面对决。
结果令人震惊: 在51个任务、255个测试用例的全面较量中,KernelPilot-v1 实现了高达98.4% 的压倒性胜率——这意味着,在255个测例中的251个,KernelPilot-v1 生成的 kernel 完胜 TensorRT 结果,跑得更快、效率更高。
总结
KernelPilot 的意义,远不止于“自动生成 CUDA 代码”。
快来立即体验,见证 AI 写 CUDA 的奇迹。如果你是 GPU 开发者、高性能计算工程师、AI 框架研究员,那么KernelPilot 绝对值得你亲自一试。
项目主页:KernelPilot[1]
文档链接:KernelPilot-文档[3]
论文链接:CUDA-LLM (arxiv)[4]
GitHub:KernelPilot[5]
参考资料
[1]
KernelPilot:http://www.kernelpilot.com
[2]
KernelPilot-V1:http://www.kernelpilot.com/index.php/tool
[3]
KernelPilot-文档:http://www.kernelpilot.com/index.php/documents/
[4]
CUDA-LLM (arxiv):https://arxiv.org/abs/2506.09092
[5]
KernelPilot:https://github.com/KernelPilot