Triton MUSA
Triton MUSA 是一套面向 MUSA 后端适配的 Triton 语言与编译器栈,用于使用 Python 编写并运行面向 MUSA 设备的高性能 GPU Kernel。
概述
什么是 Triton MUSA
Triton MUSA(MUSA 后端适配的 Triton 语言与编译器栈)是 Triton 语言和编译器栈的 MUSA 后端适配。triton_musa 允许用户使用 Triton DSL 以 Python 方式编写 GPU Kernel,并将其编译为能够在 MUSA 设备上运行的二进制产物。它是一个面向 MUSA 硬件的、以 Python 为中心的 Kernel 编程环境和编译工具链。现代工作负载经常需要自定义 Kernel 来实现算子融合、带宽优化、特殊布局支持或硬件特性利用。纯框架算子往往不够,而手写底层 Kernel 的开发和维护成本又很高。triton_musa 缩小了开发效率与运行性能之间的差距。用户可以用 Python 编写 Kernel,而不是直接编写底层设备代码,同时仍然能够获得优化后的后端代码生成结果。
关键特性
triton_musa 提供以下能力:
- 基于
@triton.jit的 Python Kernel 编程方式 - MUSA / MTGPU 后端支持,并且在多个驱动同时可用时优先选择 MTGPU 驱动
- 从 Triton Kernel 到后端二进制产物的 JIT 编译流程
- 对
tl.load、tl.store、tl.arange、tl.dot以及 launch grid 等标准 Triton 语言构造的支持 - 通过
triton.autotune、triton.Config、num_warps和num_stages进行性能调优 - 通过
triton.musa_testing.do_bench进行 MUSA 性能测试 - 面向 MUSA 的 AOT 编译路径,可生成 C 启动代码和嵌入式
mubin - 面向 MUSA 架构特性的矩阵加速和数据搬运路径,包括 TME、WMMA、WGMMA 风格的 warp-group 矩阵计算模型以及 SQMMA
- 通过 MLIR 和 LLVM IR dump 开关进行编译器调试
适用读者
本文档适用于:
- 希望在 MUSA 设备上编写和运行 Triton Kernel 的用户
- 需要调试、压测或集成 MUSA 定向 Kernel 的开发者