- TritonForge: Profiling-Guided Framework for Automated Triton Kernel Optimization
- https://arxiv.org/pdf/2512.09196

本文提出 TritonForge,一款基于剖析引导的自动化 Triton 内核优化框架,旨在解决现代机器学习中 GPU 内核优化耗时且需深厚硬件知识的痛点。
尽管 Triton 作为 PyTorch 2.0 默认后端简化了 GPU 编程,但手动调优元参数、适配迭代的 GPU 架构仍面临巨大挑战。
该 框架整合内核分析、运行时剖析与迭代代码转换,借助 LLM 辅助代码推理与转换,模块化且模型无关 。其核心流程包括测试生成、性能瓶颈识别、靶向代码优化的迭代循环,搭配故障修复模块保障代码可用性。

图1:TritonForge 系统架构图。左侧为测试生成器,负责生成性能测试;右侧为内核优化器,接收性能报告并生成优化代码。中间还设有故障感知修复代理,负责修复编译和运行时错误
基于 TritonBench 数据集的 131 个可运行内核,在 NVIDIA H100 GPU 上的实验显示,TritonForge 优化成功率达 42.7%,成功案例平均加速 1.76 倍,最高达 5 倍 ,显著提升内存吞吐量与硬件利用率。
此外,消融实验验证了剖析反馈对优化效果的关键作用。该框架为自动化 GPU 性能优化提供了新范式,降低了优化门槛,虽存在迭代效率与复杂内核优化饱和等局限,但为后续研究奠定了基础。
一、GPU 内核优化的“拦路虎”
在深度学习和科学计算中,GPU 是核心算力引擎。而 Triton 作为一种专为 GPU 编程设计的领域特定语言,自 2021 年由 OpenAI 开源以来,凭借比 CUDA 更简洁的语法和接近手写 CUDA 的性能,迅速被 PyTorch 2.0 采纳为默认后端编译器。
然而,尽管 Triton 语法简单,要发挥其 极致性能 却仍然困难重重:
- 硬件理解门槛高 :开发者需深刻理解 GPU 的内存层次、并行执行模型、缓存行为等;
- 手动调参繁琐 :需反复试验块大小、流水线阶段数、warp 配置等参数;
- 架构适配困难 :不同 GPU 架构(如 Ampere、Hopper)的最优配置可能完全不同;
- 优化知识孤岛 :高性能调优经验往往仅掌握在少数专家手中。
这些问题导致很多 Triton 内核无法充分发挥现代 GPU 的潜力。
二、相关工作:自动化优化之路
在 TritonForge 之前,学术界和工业界已为 GPU 内核的自动化优化付出了诸多努力,主要可分为几个方向:
- 传统自动调优与启发式搜索 :这类方法(如 Ansor、Kernel Tuner)通过定义参数搜索空间,结合启发式算法或机器学习模型,自动探索最优的内核配置。它们 虽然有效,但通常搜索成本高,且难以捕捉深层的算法级优化机会。
- 编译器与规则驱动优化 :一些工作通过静态代码分析、模式匹配和预定义的优化规则集来转换代码。 这类方法可靠,但灵活性有限,难以应对复杂多变的优化场景。
- 基于 LLM 的代码生成与优化 :随着大语言模型的崛起,出现了如 CUDA-LLM、KernelBench 等工作,探索用 LLM 直接生成或优化 CUDA 内核。它们展现了 LLM 理解代码、提出修改的潜力,但往往 缺乏与硬件运行时性能的直接闭环反馈,导致优化建议可能偏离实际瓶颈。
TritonForge 的创新之处在于,它首次将 LLM 的代码生成能力与 NVIDIA 硬件性能剖析工具深度集成 ,形成了一个“剖析-分析-生成-验证 ”的自动化闭环,专门针对 Triton 这一日益流行的编程模型进行优化。
三、TritonForge:当 LLM 遇见性能剖析
TritonForge 的核心思想是:将性能剖析数据直接反馈给 LLM,引导它生成更优的 GPU 内核代码 。

图1:TritonForge 系统架构图。左侧为测试生成器,负责生成性能测试;右侧为内核优化器,接收性能报告并生成优化代码。中间还设有故障感知修复代理,负责修复编译和运行时错误
整个系统包含两大核心模块:
- 测试生成器(Test Generator) :基于输入的 Triton 代码,生成用于性能剖析的测试用例;
- 内核优化器(Kernel Optimizer) :根据从 NVIDIA Nsight Compute 获取的性能数据,生成优化后的 Triton 代码。
四、优化流程:四步迭代,自动调优
TritonForge 的优化是一个自动化、迭代的闭环流程:
步骤 1:初始化与代码建议
LLM 根据当前内核代码、硬件信息和性能瓶颈报告,提出优化建议,例如:
- 调整块大小或形状
- 改变内存布局
- 增加预取策略
- 融合或拆分循环
步骤 2:故障感知修复
若生成代码编译或运行失败,系统会依据错误日志自动修复,确保代码可执行。
步骤 3:性能仲裁器评估
系统对比新旧性能报告,判断是否接受当前优化版本。评估标准包括:
- 吞吐量/延迟提升
- 资源使用情况
- 是否达到收益递减阈值
步骤 4:针对性优化提示
将性能指标变化转化为具体优化提示,例如:
- 内存停滞 → 优化分块或数据暂存
- 占用率低 → 调整寄存器压力
该流程最多迭代 8 轮 ,避免无限循环。

Algorithm 1 是基于性能分析的 Triton 内核优化算法完整描述,输入硬件配置、初始 Triton 内核及基准性能报告,输出优化后的 Triton 内核与对应性能报告。其流程为:初始化后重复生成候选内核,构建并运行;若失败则修复后重试,成功则分析性能,经仲裁器判定是否更新内核与报告,同时优化搜索空间,直至仲裁器终止,完成优化。
五、实验验证:效果如何?
研究团队在 TritonBench 数据集上进行了全面评估,该数据集包含 184 个真实世界的 Triton 内核 ,涵盖矩阵运算、卷积、注意力机制等多种计算模式。
整体性能表现

表 1:不同长度内核的优化效果。Q1-Q4 为按代码行数分组的四分位段。成功率指加速比 ≥ 1.05 的比例。

图2:优化效果整体分析。(a)代码长度与加速比无明显关联;(b)优化轮次越多,成功率呈下降趋势;(c)多数成功内核加速比在 1.05–1.75 倍之间;(d)约 40% 的成功内核加速比 ≥ 1.2 倍。
代码行为分析:LLM 偏好“展开”代码
有意思的是,LLM 在优化时倾向于生成更长的代码 ,而不是压缩它。如图 3 所示:

图3:LLM 生成代码的长度变化:(a)多数优化后内核更长,长度比中位数约 1.3×;(b)迭代轮次越多,代码略有缩短趋势;(c)代码长度与性能提升无明显相关性。
这表明 LLM 的“冗长”更多是风格性的,而非性能驱动。
六、实战案例:看 TritonForge 如何优化
案例一:自动参数调优
一个简单的逐元素 sin 运算内核,原始版本使用固定 BLOCK_SIZE=4,GPU 利用率极低。
TritonForge 为其添加了 @triton.autotune 装饰器,自动探索多个候选配置:
@triton.autotune(
configs=[
triton.Config({'BLOCK_SIZE': 512}, num_warps=4),
triton.Config({'BLOCK_SIZE': 1024}, num_warps=8),
triton.Config({'BLOCK_SIZE': 4096}, num_warps=16),
],
key=['n_elements']
)
最终实现 95 倍 的性能提升!这说明 LLM 能识别出“缺失的关键调优开关”,并利用 Triton 自动调优器找到最优配置。
案例二:基于性能剖析的算法重构
一个批处理向量-矩阵乘法(GEMV)内核,原始版本使用三维广播,产生大量临时内存与转置开销。
剖析结果显示:
- 内存吞吐仅达理论峰值的 52.24%
- 计算吞吐仅 5.92%
- 占用率 37.5%
TritonForge 将其重构为流式归约风格,去除了中间展开,结果:

表 2:优化前后性能指标对比。内存和计算吞吐均大幅提升,内核运行时间缩短约 42%。
最终实现 1.74 倍 加速,显著提升了硬件利用率。
案例三:迭代优化中的“原地踏步”
并非所有优化都一帆风顺。在某些复杂内核上,LLM 可能陷入语义等价但性能无改进的代码变体中。

表 5:五轮迭代优化效果变化。虽然最后一轮回归基准性能,但过程中各轮尝试并未带来实质提升。
如表 5 所示,一个反向批处理矩阵乘法内核经过五轮优化,总时间几乎没有变化,说明在某些情况下,局部指标改进未必带来整体性能提升 。

表 4:展示 LLM 不同优化行为的典型案例研究。
七、讨论与局限
尽管 TritonForge 取得了显著成效,但仍存在一定局限性:
- 迭代效率偏低 :LLM 有时会反复生成语义相似的变体,搜索空间较浅;
- 成功率约 42.7%: 意味着多数内核仍无法通过当前方法获得显著加速;
- 对复杂约束处理有限 :如案例三所示,某些内核即使多轮优化也难以突破瓶颈。
未来工作可聚焦于:
- 引入自适应停止策略
- 结合演化算法或强化学习进行多样化搜索
- 增强对硬件性能梯度的理解与反馈
八、总结
TritonForge 展示了 LLM + 性能剖析 在 GPU 内核优化中的强大潜力。
它通过将实时性能数据反馈给 LLM,实现自动化、数据驱动的内核调优,平均加速比达 1.76 倍 ,最高可达 5 倍 。
这一工作不仅为 GPU 编程自动化提供了新思路,也为未来 AI for Systems 的研究奠定了重要基础。
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/13847
