AMD has made significant progress in enhancing JAX-Triton, bringing it closer to full compatibility with Triton GPU kernels. The update supports most Triton features and moves the project from an experimental state toward maturity. Users can now run virtually any Triton or Gluon kernel inside JAX, either directly or after minor adjustments, making it easier to integrate kernels from other frameworks like PyTorch. This advancement simplifies the process of running kernels as part of a compiled compute graph. Source: amd
The latest version, 0.5.1, includes several improvements, such as full support for the Gluon dialect, a new .kernel decorator for cleaner syntax, and better backend initialization options. Gluon, a low-level dialect of Triton, allows kernel authors to access hardware-specific features without using pure assembly. While Gluon has been supported since v0.4.0, some updates to the compilation pipeline and features are only available through the AMD fork at ROCm/jax-triton. The .kernel decorator simplifies kernel launch syntax, making it more readable and similar to how kernels are launched in HIP or CUDA. This change promotes the kernel as a first-class citizen in the code and allows for more flexible argument passing. Source: amd
JAX-Triton now supports all Triton argument types, including tuples, callables, strings, and explicit tl.constexpr values. This aligns JAX-Triton with upstream Triton and enables more flexible kernel specialization, which is crucial for performance optimization. Kernel specialization allows Triton to compile and run different versions of a kernel binary based on the arguments passed, leading to more efficient execution. For example, kernels can be specialized for specific scalar arguments, improving vectorized loads and stores or eliminating dead code. Source: amd