AI 作为编译器:在没有 Triton 编译器的情况下编译 Triton 内核
AI as a Compiler: Compiling Triton kernels without the Triton compiler
摘要
随着编程模型、工作负载和加速器的发展,编译器后端的构建和维护成本高昂。我们研究大语言模型是否可以取代传统的优化与降级流程,我们称之为AI降级(AI lowering)的过程。我们研究从 Triton 到 NVIDIA PTX 的 AI降级:LLM Agent将 Triton 内核直接转换为 PTX。我们构建了一个评估候选 PTX 的环境,以及一个 Agentic Harness,其中大语言模型将 Triton 内核转换为 PTX。在 Ada、Hopper 和 Blackwell GPU 上的 12 个常见内核以及最近 ML 论文中的 10 个内核中,AI降级的性能是自动调整的 Triton 的 0.83 倍至 3.34 倍。最大的收益来自 Triton降级管线不执行的转换,例如将打包的二进制权重直接解码为 Tensor Core 操作数(BitDelta 上为 3.34x)、在张量内存中为每个线程分配一个完整的 softmax 行(FlashAttention 上为 1.37x),以及重用重叠卷积窗口(高达 2.23x)。这些结果依赖于具有全面验证支持的评估Harness。我们以现有 PTX 验证器 Volta 为基础,并通过引入对 Blackwell tcgen05 Tensor Core 接口的支持来对其进行大幅扩展,以支持现代 GPU 架构。这需要对三个架构特征进行建模:托管张量内存、基于描述符的操作数布局以及通过提交、等待、内存屏障和代理栅栏(proxy fences)协调的异步执行。我们讨论了将它们正式化所面临的挑战以及当前的局限性。我们的结果提示一种正在形成的未来:AI编译器可能取代定制编写的中间表示和检查器,从而减少为新的通用和定制芯片开发软件所需的时间和工程工作量。
