使用特定领域语言和光速引导提高 GPU 内核优化代理的效率
Improving Efficiency of GPU Kernel Optimization Agents using a Domain-Specific Language and Speed-of-Light Guidance
摘要
使用 LLM 代理优化 GPU 内核是一个在大型设计空间上的迭代过程。每个候选人都必须被生成、编译、验证和分析,因此更少的试验将节省运行时间和成本。我们提出两个关键观察结果。首先,代理操作的抽象级别很重要。如果它太低,LLM 就会浪费对低影响细节的推理。如果太高,可能会错过重要的优化选择。其次,Agent无法轻易判断何时达到收益递减点,从而在继续搜索时浪费资源。这些观察结果激发了两个提高效率的设计原则:(1) 一种紧凑的领域特定语言 (DSL),可以在上下文中学习,让模型在更高层次上进行推理,同时保留重要的优化杠杆;(2) 光速 (SOL) 指导,使用第一原理性能界限来引导和预算搜索。我们在 $μ$CUTLASS 中实现这些原则,这是一个 DSL,带有用于 CUTLASS 支持的 GPU 内核的编译器,涵盖内核配置、尾声融合和多级管道。我们使用 SOL 指导来估计余量并指导优化试验,取消接近 SOL 的问题的优先级,并标记与基准不符的内核。在具有相同迭代预算的 59 个 KernelBench 问题上,使用 GPT-5-mini 从生成底层代码切换到 DSL 代码,将 0.40 倍的几何均值回归变为比 PyTorch 快 1.27 倍的加速。添加 SOL 引导转向将其提升至 1.56 倍。在模型层中,$μ$CUTLASS + SOL 指导可以让较弱的模型以较低的词元成本胜过较强的基线代理。 SOL 引导的预算可节省 19-43% 的词元,同时保留至少 95% 的几何平均加速,最佳策略可实现 1.68 倍的效率增益。最后,SOL 分析有助于检测基准游戏案例,其中内核可能看起来很快,但无法执行预期的计算。