【论文】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 中发现共性模式,并将更好的优化建议反馈给开发者。

方法论

  1. 概要提取 – 在目标 kernel 上运行 Nsight Compute;收集其 CSV/JSON 输出(数千个计数器、roofline 指标等)。
  2. LLM 代理设计 – 使用链式思考提示策略:
    • 解析代理 识别最关键的计数器(例如 SM 利用率、内存带宽、停顿原因)。
    • 解释代理 将这些数值转化为通俗的英文说明,并引用支持每个论断的具体指标值。
    • 推荐代理 将识别出的瓶颈映射到一组已知的 CUDA 最佳实践修复方案(例如增大线程块大小、使用共享内存、调整启动配置)。
  3. 提示工程 – 将生成的解释作为上下文插入后续 LLM 查询中(例如 “建议代码修改以改进此 kernel”)。
  4. 评估 – 作者比较三种设置:
    • (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
0 浏览
Back to Blog

相关文章

阅读更多 »