ML-Triton, A Multi-Level Compilation and Language Extension to Triton GPU Programming
By: Dewei Wang , Wei Zhu , Liyang Ling and more
Potential Business Impact:
Makes AI learn faster by using computer chips better.
In the era of LLMs, dense operations such as GEMM and MHA are critical components. These operations are well-suited for parallel execution using a tilebased approach. While traditional GPU programming often relies on low level interfaces like CUDA or SYCL, Triton has emerged as a DSL that offers a more user-friendly and portable alternative by programming at a higher level. The current Triton starts at the workgroup (aka threadblock) level, and directly lowers to per-thread level. And then attempt to coalesce and amend through a series of passes, promoting information from low-level representation. We believe this is pre-mature lowering based on the below observations. 1. GPU has a hierarchical structure both physically and logically. Modern GPUs often feature SIMD units capable of directly operating on tiles on a warp or warpgroup basis, such as blocked load and blocked MMA. 2. Multi-level gradual lowering can make compiler decoupled and clean by separating considerations inter and intra a logical layer. 3. Kernel developers often need fine control to get good performance on the latest hardware. FlashAttention2 advocates explicit data partition between warps to make a performance boost. In this context, we propose ML-Triton which features multi-level compilation flow and programming interface. Our approach begins at the workgroup level and progressively lowers to the warp and intrinsic level, implementing a multilevel lowering align with the hierarchical nature of GPU. Additionally, we extend triton language to support user-set compiler hint and warp level programming, enabling researchers to get good out-of-the box performance without awaiting compiler updates. Experimental results demonstrate that our approach achieves performance above 95% of expert-written kernels on Intel GPU, as measured by the geometric mean.
Similar Papers
The Anatomy of a Triton Attention Kernel
Machine Learning (CS)
Makes AI work fast on different computers.
TritonForge: Profiling-Guided Framework for Automated Triton Kernel Optimization
Software Engineering
Makes computer programs run much faster automatically.
Neptune: Advanced ML Operator Fusion for Locality and Parallelism on GPUs
Programming Languages
Makes AI models run much faster.