论文

Kernel Forge:用于基于LLM的CUDA内核生成与优化的智能体脚手架

Kernel Forge: An Agent Harness for LLM-based Generation and Optimization of CUDA Kernels

智能体系统Agent Harness

摘要

机器学习模型日益嵌入日常软件,其运行时间大部分消耗在矩阵乘法、卷积和归一化等少量计算内核上。优化这些内核是降低延迟和成本最直接的途径之一,但传统上需要专家工程师手工编写底层GPU代码。基于大语言模型(LLM)的智能体系统如今能以远少于以往的人力生成和优化内核,但现有工具大多在随机生成的张量和孤立内核上评估,输出需要开发者手动重新集成的独立CUDA代码,多数只针对LLM PyTorch模型,且对结果的检查和调试支持有限。我们提出Kernel Forge,一个开源的端到端智能体脚手架,可直接就地接收任何未经修改的PyTorch模型。Kernel Forge支持视觉、扩散和LLM工作负载,使用蒙特卡洛树搜索(MCTS)探索多条优化路径而非单一线性改进链,并配有图形用户界面,用于监控进度、检查候选内核和调试失败。我们在配备GB10 GPU的NVIDIA DGX Spark上,对横跨视觉、扩散和LLM工作负载的四个PyTorch模型评估Kernel Forge。每个内核仅需50次优化迭代,它便将14个内核优化至超越PyTorch eager模式,在ResNet-50的adaptive\_avgpool2d上达到$1.52\times$,在Stable Diffusion 3.5 Medium的group\_norm上达到$1.70\times$,在Gemma 4 E2B的softmax上达到$2.83\times$,在Qwen 3.5 35B-A3B的softmax上达到$1.54\times$。

Kernel Forge:用于基于LLM的CUDA内核生成与优化的智能体脚手架:论文配图
图 1:Kernel Forge 图形界面。编号的屏幕截图显示了主要工作流程:(1)项目启动器列出了已保存的优化项目; (2) 项目创建允许用户直接从 Hugging Face 加载模型和权重、配置目标后端并提供验证输入,而无需修改模型代码; (3) 操作员工作台显示捕获的内核、其运行时显着性及其优化状态,以便用户可以选择要优化的内容; (4) 结果视图总结了每个操作员的时序、加速、成本以及后端或回退状态; (5) 内核工作台公开生成的 CUDA 修订、代理推理、优化决策以及每次优化运行的 MCTS 修订树。