【论文】KEET:使用 LLM 代理解释 GPU 核函数性能
发布: (2026年5月6日 GMT+8 11:47)
7 分钟阅读
原文: arXiv
Source: arXiv - 2605.04467v1
(请提供您希望翻译的具体文本内容,我将按照要求进行简体中文翻译并保留原有的格式。)
概览
本文介绍了 KEET(Kernel Execution Explanation Toolkit),一个利用大型语言模型(LLM)作为“代理”的框架,将 NVIDIA 的 Nsight Compute 分析工具的密集技术输出转化为清晰的自然语言解释,说明 GPU 核心为何慢以及如何调优。通过弥合原始性能计数器与面向开发者的洞察之间的差距,KEET 旨在减少工程师在图表和表格中挖掘瓶颈所花费的时间。
关键贡献
- Agentic LLM pipeline:解析 Nsight Compute 报告,提取相关指标,并生成对性能问题的有依据的文本解释。
- 优化建议模块:将解释与具体的代码层面建议相结合(例如,内存访问模式、占用率调优)。
- 实证评估:在一套从简单到复杂的 CUDA kernel 上进行测试,运行于 NVIDIA H100 GPU,结果表明加入 KEET 的提示能够提升下游 LLM 任务的表现,如代码优化和多项选择问答。
- 可扩展分析:通过处理大批量的分析文件,展示了工具能够在众多 kernel 中发现共性模式,并将更好的优化建议反馈给开发者。
方法论
- 概要提取 – 在目标 kernel 上运行 Nsight Compute;收集其 CSV/JSON 输出(数千个计数器、roofline 指标等)。
- LLM 代理设计 – 使用链式思考提示策略:
- 解析代理 识别最关键的计数器(例如 SM 利用率、内存带宽、停顿原因)。
- 解释代理 将这些数值转化为通俗的英文说明,并引用支持每个论断的具体指标值。
- 推荐代理 将识别出的瓶颈映射到一组已知的 CUDA 最佳实践修复方案(例如增大线程块大小、使用共享内存、调整启动配置)。
- 提示工程 – 将生成的解释作为上下文插入后续 LLM 查询中(例如 “建议代码修改以改进此 kernel”)。
- 评估 – 作者比较三种设置:
- (a) 未提供概要上下文的原始 LLM,
- (b) 提供原始数值计数器的 LLM,和
- (c) 提供 KEET 自然语言解释的 LLM。
在优化建议任务和选择题上的准确率进行测量。
结果与发现
- 解释质量很重要 – 当 KEET 的文本摘要作为上下文提供时,LLM 在关于内核性能的多项选择题上相比仅使用原始数值输入,准确率提升最高可达 23 %。
- 更好的优化建议 – 在代码生成实验中,当有 KEET 解释引导时,LLM 能产生 更相关且可实现 的改动(例如 “将全局加载替换为
__ldg内置函数”)。 - 批量处理收益 – 一次性分析数百个分析报告,使 KEET 能发现重复出现的问题(例如 L2 命中率低),并自动为开发团队进行优先级排序。
- 人工验证 – 对 GPU 开发者进行的小规模用户研究表明,KEET 的解释平均将定位主要瓶颈的时间缩短了 ≈40 %。
实际意义
- 更快的调试周期 – 开发者可以将 Nsight Compute 报告粘贴到 KEET 中,立即获得简洁的“为何慢”段落,减少手动检查。
- LLM 辅助的代码重构 – 将 KEET 的输出输入代码生成模型(例如 GitHub Copilot、Claude),团队可以获得更精准、关注性能的建议,降低反复试验的循环。
- 持续集成 – KEET 可以脚本化集成到 CI 流水线中,自动标记性能回退并在代码进入生产前提供修复建议。
- 教育与入职 – 新的 GPU 程序员可以更快学习性能调优概念,因为 KEET 将低层指标转化为他们需要理解的高层推理。
限制与未来工作
- 模型依赖 – 解释质量取决于底层的大语言模型;较小或能力较弱的模型可能会给出模糊或不正确的建议。
- 配置文件覆盖范围 – KEET 目前专注于 NVIDIA GPU 的 Nsight Compute 数据;扩展到 AMD ROCm 或 Intel oneAPI 分析工具将提升其适用性。
- 静态规则集 – 推荐来自已策划的已知 CUDA 优化列表;系统可能会遗漏超出该知识库的创新或特定架构技巧。
- 解析的可扩展性 – 极大的分析文件(例如多内核工作负载)可能会超出当前 LLM API 的 token 限制,需要采用分块策略。
未来的研究方向包括整合强化学习,使代理能够“即时”测试建议的更改,扩充社区贡献的优化模式知识库,以及支持跨供应商的分析格式。
作者
- Joshua H. Davis
- Klaudiusz Rydzy
- Srinivasan Ramesh
- Aadit Nilay
- Daniel Nichols
- Swapna Raj
- Nikhil Jain
- Abhinav Bhatele
论文信息
- arXiv ID: 2605.04467v1
- Categories: cs.PF, cs.DC
- Published: 2026年5月6日
- PDF: Download PDF