CUDA-L2利用大模型+强化学习自动生成GPU矩阵乘法内核,在A100上全面超越NVIDIA cuBLAS,开启AI自动优化系统软件的新范式。
这是一个为CUDA-L2的开源项目点击标题,直接挑战NVIDIA自家最核心、最成熟的cuBLAS库!而它用的武器,居然是大语言模型(LLM)+强化学习(RL)。
更惊人的是,它真的赢了。
在A100 GPU上千种不同矩阵尺寸的测试中,CUDA-L2生成的半精度矩阵乘法(HGEMM)内核,平均比torch.matmul快22%,比闭源高度优化的cuBLAS快19%,甚至比cuBLASLt自带的自动调优(AutoTuning)模式还要快11%以上。
在更贴近真实推理场景的“服务器模式”下,领先优势甚至扩大到近30%。
这意味着什么?意味着过去几十年靠人类专家一行一行手调、靠NVIDIA闭源打磨到极致的GPU计算核心,如今被一个AI系统系统性地超越了。这不是一次偶然优化,而是一场底层范式的革命。
这不是“调参”,而是让AI从零开始“创作”高性能CUDA内核
传统GPU库如cuBLAS,其实早已是人类智慧的结晶。它们由NVIDIA顶尖工程师编写,针对不同GPU架构、不同数据类型、不同矩阵尺寸设计了若干“模板”内核,再通过启发式(heuristic)或自动搜索(AutoTuning)在这些模板里找最优配置。
但这种方法有个致命局限:所有优化都发生在“固定结构”内部。比如你只能调整分块大小(tile size)、寄存器使用、共享内存布局等“旋钮”,却不能改变循环结构、数据排布策略、甚至编程范式本身。
而CUDA-L2彻底打破了这个边界。它的核心思想非常大胆:让一个预训练的大语言模型,直接“写出”完整的CUDA源代码,然后在真实GPU上运行、测量速度、反馈奖励,再通过强化学习不断迭代改进。
在这个过程中,AI不仅会调整参数,还会“发明”新的循环展开方式、新的内存访问模式、新的张量核(Tensor Core)调度策略,甚至混合使用原始CUDA、CUTLASS风格、内联PTX等多种编程范式。换句话说,它不是在调参,而是在“创作”——创作出人类可能从未想过、但实测更快的高性能内核。
背后的技术引擎:6710亿参数大模型 + 真实GPU反馈闭环
那么,CUDA-L2到底是怎么做到的?根据项目披露的信息,其基础模型是DeepSeek-671B——一个拥有6710亿参数的超大语言模型。
研究团队首先对这个模型进行“领域继续预训练”:喂给它海量的CUDA代码,包括来自PyTorch、ATen、CUTLASS、NVIDIA官方示例以及全网公开的高质量GPU内核。更重要的是,他们为每段代码配上了自然语言指令和相关文档上下文,让模型不仅“看见代码”,还“理解意图”。
接着,进入强化学习阶段:系统为1000种不同的(M, N, K)矩阵尺寸,让模型生成多个候选内核;每个内核被编译并在A100 GPU上实测运行时间;速度最快、结果正确的版本获得最高奖励。这个过程采用了一种名为“组相对策略优化”(Group Relative Policy Optimization, GRPO)的算法,让模型通过对比自身多个输出的性能差异,自主学习哪些编码决策(比如用16x16还是32x8的分块)更可能带来速度提升。
关键在于,整个闭环是在真实硬件上完成的——不是仿真,不是预测,而是实打实的纳秒级计时。这使得模型学到的不是“理论最优”,而是“实测最快”。
性能碾压:不只是快一点,而是在几乎所有场景都稳赢
很多人第一反应是:会不会只是在某些特殊尺寸上“偷鸡”?但CUDA-L2的实验设计非常扎实。
它覆盖了1000种真实世界中常见的矩阵配置,包括不同batch size、不同模型宽度、不同注意力头数等组合。
结果显示,它的优势具有极强的泛化性:
在离线批处理场景(比如大模型训练中的前向/反向传播),CUDA-L2平均领先cuBLASLt-AutoTuning 11.4%;
而在更苛刻的服务器推理场景(kernel调用之间有间隔、GPU可能进入低功耗状态),优势扩大到15.9%。
为什么服务器模式下优势更大?因为AI生成的内核往往更“干净”、启动延迟更低、对缓存状态更鲁棒,不像传统库那样依赖复杂的运行时状态管理。
这意味着,如果你正在用A100跑LLM推理服务,只需替换底层matmul调用,就能立刻获得15%以上的吞吐提升——相当于白捡15%的GPU资源,成本直降。
当前限制:A100专属、16位累加器、配置覆盖有限
当然,革命性技术往往伴随着初期限制。CUDA-L2目前仅针对NVIDIA A100(SM80架构)优化,且只支持16位累加器的半精度矩阵乘法(即SM80_16x8x16_F16F16F16F16格式)。
如果你用的是RTX 4090(Ada Lovelace)、H100(Hopper)甚至未来的Blackwell架构,官方不保证性能提升,甚至可能更慢。
此外,虽然覆盖了1000种(M, N, K)组合,但如果你的模型用了非常规尺寸(比如M=123, N=456, K=789),可能不在支持列表中。
项目方建议的做法是:找到大于等于你尺寸的“最近邻”配置,然后对输入矩阵进行零填充(zero-padding)——这虽然能跑,但会带来额外计算和内存开销。
好消息是,团队已明确列出路线图:即将支持32位累加器(提升数值稳定性)、扩展更多矩阵配置、适配Ada/Hopper/Blackwell架构,并简化在开源大模型中的部署流程。GitHub上甚至鼓励用户直接提issue,点名要某个尺寸的优化内核。
为什么这件事足以改变AI基础设施的未来?
别小看这10%~30%的速度提升。在千亿参数大模型训练中,矩阵乘法占了90%以上的计算时间。
如果底层GEMM快20%,意味着你可以在同一张A100上多跑20%的训练步数,或者把7天的训练压缩到5.6天。对于动辄数百万美元的训练任务,这就是数十万美元的成本节省。
更重要的是,CUDA-L2展示了一种全新的“AI for Systems”范式:
过去,我们用AI做应用(比如写文案、画图);
现在,AI开始反过来优化AI自己的运行底座。
这套“LLM生成 + RL反馈 + 真实硬件验证”的框架,理论上可以迁移到任何计算密集型操作——比如注意力机制、MoE路由、卷积、甚至图神经网络算子。一旦成熟,将极大降低高性能计算的门槛,让普通开发者无需成为CUDA专家,也能获得接近极限的硬件性能。
这不仅是技术突破,更是生产力的解放。
如何上手?你需要PyTorch 2.6+、CUTLASS v4.2.1和A100
如果你跃跃欲试,项目提供了详细的部署指南。首先确保你有Python环境和PyTorch 2.6.0或更高版本。最关键一步是正确安装CUTLASS——必须克隆v4.2.1标签到名为cutlass的目录,并设置环境变量CUTLASS_DIR。同时,为A100设置TORCH_CUDA_ARCH_LIST="8.0"。之后,你可以用eval_one_file.sh脚本测试任意支持的(M, N, K)配置,例如:
./eval_one_file.sh --mnk 64_4096_64 --warmup_seconds 5 --benchmark_seconds 10 --base_dir ./results --gpu_device_id 7 --mode offline
整个过程对环境敏感,务必严格按照README操作,否则可能静默失败。目前项目尚未提供PyTorch插件或pip安装包,更多是面向研究者和系统工程师的原型。但考虑到其潜力,预计很快会有社区封装的易用版本出现。
作者背景:DeepReinforce团队——专注AI驱动的系统优化
CUDA-L2由DeepReinforce.ai团队开发,核心成员包括李继威(Jiwei Li)等在AI系统、强化学习和编译器领域有深厚积累的研究者。从项目命名“DeepReinforce”即可看出其技术基因——深度融合深度学习与强化学习,用于解决传统系统软件难题。团队此前已在自动代码生成、硬件感知优化等方向有系列工作,而CUDA-L2无疑是其最具突破性的成果。他们不仅开源了代码,还主动提供A100优化内核下载,并开放issue征集新配置需求,展现出极强的工程落地意识。
总结:一场静悄悄的底层革命正在发生
这场变革的意义,远不止于一个更快的matmul。它预示着一个新时代:AI不仅能使用工具,还能自己打造更锋利的工具。而CUDA-L2,正是这把新工具的第一道寒光。
极客一语道破:
为何英伟达自己没有做到?为何英伟达不把自己重要精力放在优化CUDA上,却不断发布各种不同LLM大模型,也不投资自己建设数据中心,这些直接关系自己核心竞争力的上下文游不涉及,却伸长去做端侧的大模型,它怎么不去做台积电啊?关键是没有上下文注意力集中机制!