跳到正文
返回论文列表
cs.LG提交于 已译

少即是多:学习 GPU 内核优化中的性能剖析策略

Less is more: learning what to profile for GPU kernel optimization

Yihan Wang · Peiyu Liu · Runyu Chen · Wei Xu

中文摘要

大语言模型在自动优化 GPU 内核方面展现出潜力,但其效果高度依赖硬件信息。现有系统通常依赖预定义的性能剖析(profiling)策略,未将“剖析什么”纳入优化过程。研究表明,增加剖析指标数量并不单调提升优化效果,且不同内核最有用的剖析信息各异。理论分析显示,在异构剖析效用下,基于内核条件的选择优于任何单一固定配置。受此启发,提出 AutoProfiler,一种基于反馈的框架,用于从优化反馈中学习确定性的剖析树。该树通过 REWRITE 和 SPLIT 操作迭代优化,由 LLM 生成候选修改,并通过实证评估决定接受与否。构建完成后,该树能快速为任意内核收集所需剖析信息,仅需调用一次 LLM 重写器。在 KernelBench 上的实验表明,在受限剖析预算下,该方法优于固定剖析配置。这表明硬件剖析应从静态指标收集转向剖析推理,使剖析本身成为提升内核优化的新维度。

关键要点

  1. 01指出增加剖析指标数量并不单调提升 GPU 内核优化效果,且不同内核所需的关键剖析信息存在差异。
  2. 02提出 AutoProfiler 框架,利用 LLM 和实证反馈迭代构建确定性的剖析树,实现基于内核条件的动态剖析选择。
  3. 03在 KernelBench 基准测试中,该方法在受限剖析预算下,相比固定剖析配置显著提升了内核优化性能。
  4. 04强调硬件剖析应从静态指标收集演进为剖析推理,将剖析过程本身作为提升内核优化的新维度。

解读

尚无解读。

原始英文摘要

arXiv:2610.36576v1 Announce Type: cross Abstract: Large language models have recently shown strong potential for automatically optimizing GPU kernels, yet their effectiveness depends critically on the hardware information available to the kernel optimization model. Existing systems typically rely on predefined profiling strategies, leaving what to profile largely outside the optimization process. We show that effective profiling is not simply about collecting more information: increasing the number of profiling metrics does not monotonically improve kernel optimization, while the most useful profiling information varies across kernels. Our theoretical analysis further shows that, under such heterogeneous profiling utility, kernel-conditioned selection can outperform any single fixed profiling configuration. Motivated by this observation, we propose AutoProfiler, a feedback-driven framework for learning a deterministic profiling tree from optimization feedback. The tree is iteratively refined through REWRITE and SPLIT operations, with an LLM generating candidate modifications and empirical evaluation determining their acceptance. Once constructed, the tree quickly gathers the required profiling information for any kernel, allowing the LLM rewriter to be invoked only once. Experiments on KernelBench show that our approach improves kernel optimization over fixed profiling configurations under constrained profiling budgets. These results suggest that hardware profiling should evolve from static metric collection toward profiling reasoning, making profiling itself a new dimension for improving kernel optimization. The codes are available at https://github.com/Satissss/AutoProfiler.

同方向论文 · cs.LG

查看全部 →

反向发现 · 这篇论文相关的工具与提示词

去交叉发现 →

关联提示词 · 6

编程tech.qimao.com·外部收录·

按规范检查 Go 代码改动,分析问题与服务影响并生成 Code Review 报告

``` # Code Review 规范 你是 golang 编程的专家,现在对代码进行 Code Review,请按照以下步骤进行: (若遇到 git 命令分页的情况,请加上`| cat`) ## 步骤一:代码规范检查 - [ ] 是否遵循最佳实践 @.cursor/rules/rule-code-spec.mdc - [ ] 是否存在重复代码 - [ ] 是否有充分的注释和文档 - [ ] 是否易于理解和维护 ## 步骤二:功能问题分析 - [ ] 分析本次代码改动的影响…

编程zhuanlan.zhihu.com·外部收录·

用于指导 Claude Code 按阶段规划、测试驱动实现、重构并提交代码。

### 1. 规划与分阶段 将复杂的工作分解为 3-5 个阶段。在 `IMPLEMENTATION_PLAN.md` 中记录: ```text ## 阶段 N: [Name] **目标**: [具体可交付成果] **成功标准**: [可测试的结果] **测试**: [具体的测试用例] **状态**: [未开始|进行中|已完成] ``` * 随着进展更新状态 * 所有阶段完成后删除文件 ### 2. 实现流程 1. **理解** - 研究代码库中的现有模式 2. **测试**…

编程github.com/PlexPt/awesome-chatgpt-prompts-zh·外部收录·

充当全栈软件开发人员

我想让你充当软件开发人员。我将提供一些关于 Web 应用程序要求的具体信息,您的工作是提出用于使用 Golang 和 Angular 开发安全应用程序的架构和代码。我的第一个要求是'我想要一个允许用户根据他们的角色注册和保存他们的车辆信息的系统,并且会有管理员,用户和公司角色。我希望系统使用 JWT 来确保安全。

编程github.com/PlexPt/awesome-chatgpt-prompts-zh·外部收录·

充当前端智能思路助手

我想让你充当前端开发专家。我将提供一些关于Js、Node等前端代码问题的具体信息,而你的工作就是想出为我解决问题的策略。这可能包括建议代码、代码逻辑思路策略。我的第一个请求是“我需要能够动态监听某个元素节点距离当前电脑设备屏幕的左上角的X和Y轴,通过拖拽移动位置浏览器窗口和改变大小浏览器窗口。”

编程github.com/PlexPt/awesome-chatgpt-prompts-zh·外部收录·

充当 Linux 终端

我想让你充当 Linux 终端。我将输入命令,您将回复终端应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时,我会把文字放在中括号内[就像这样]。我的第一个命令是 pwd