让Codex自己跑实验:他把GPU内核性能提升了232倍

让 Codex 自己跑实验:他把 GPU 内核性能提升了 232 倍

在 GPU Mode 与 Core Automation 联合举办的一场「自动研究」主题编程竞赛里,一名开发者借助 OpenAI 的 Codex 编程智能体,把一道 CUDA 矩阵分解内核的运行效率提升到基准方案的 232 倍,在 183 名参赛者中位列第 12。整篇复盘没有停留在「调参玄学」,而是把「让 AI 替你做研究、自己跑实验」的工作方式拆解得相当具体。

赛题:给张量核心喂饱矩阵乘法

竞赛的要求是实现批量方阵的紧凑 Householder QR 分解,输出格式需与 PyTorch 的 torch.geqrf 一致。QR 分解把矩阵拆成正交矩阵 Q 与上三角矩阵 R,是许多线性代数与优化器的底层算子。难点在于,标准的 Householder QR 是「一列一列串行」地清零下三角,串行部分只能跑在 SM 的慢速向量单元上,而昂贵的张量核心只能干等。

该作者的突破口是经典的「分块 Householder + WY 表示」:先在一个窄面板内完成串行工作,再把面板的多个反射子压缩成一次秩-b 更新,用三次连续的矩阵乘法(GEMM)一次性覆盖后方的主块。这样串行工作量被锁在窄面板里,其余部分全部变成张量核心最擅长的 GEMM 形状。测试覆盖的矩阵规模从 512×512 一直到 4096,批量大小跨度很大,最大的矩阵批量太少填不满张量核心,最小的 32 阶又得把多份矩阵塞进同一次内核启动。

自动研究:把未知未知变成已知未知

更值得借鉴的是人机协作的方法论。作者坦承自己只是「有一年的 GPU 内核优化基础、并非专业人士」,在排行榜上属于逆风开局——排在他前面的人里有英伟达的首席工程师。他的体会是:对问题理解得越透,给大模型的提示词就越精准,本质是「把未知未知转化成已知未知」。他先用 Claude 补 QR 分解与 Householder 反射的直觉,确认主干架构必须走分块 Householder 配合尾部 WY 更新;GPT-5.5 在这一架构上也给出了同样的判断。

在 14 天里,他提交了超过 1500 次方案。竞赛提供的命令行工具让智能体能直接测试、跑分并提交排行榜,形状级别的反馈加上整体几何平均耗时,构成了一个让智能体不断「爬山」的紧凑循环。他还利用低精度(FP16、FP8、NVFP4)在内部加速,同时保证返回的因子仍通过 FP32 级别的 QR 校验。工具链上,他使用 ChatGPT Pro(每月 200 美元)与 Claude Pro(每月 20 美元)两套订阅,并用 Modal 提供的每月 30 美元免费额度做性能剖析,Codex 的 /compaction 等功能则用来维持长程上下文。

对开发者的启示

这则案例的价值,不在于「232 倍」这个炫目的数字,而在于它展示了一种新的工程范式:当反馈循环足够紧凑、可自动评测时,编程智能体可以代替人完成大量试错,而人类的作用退化为「提对问题」与「判断方向」。对于日常做性能优化的工程师,文章也直言不讳地指出可改进之处——例如更早引入更系统的低精度策略、把更多形状纳入回归测试。自动研究不会取代领域知识,但确实把「懂一点」和「完全不懂」之间的差距,压缩得比过去小得多。

来源:Hacker News(原文出自 sankalp 个人博客,作者 sankalp)