Changelog
jax-triton 0.4.0 (unreleased)
- New features
- Added support for Gluon kernels.
triton_callnow accepts pytrees as inputs and outputs. Note thatinput_output_aliasesandzeroed_outputsnow index into the flattened inputs and outputs, matchingjax.experimental.pallas.pallas_call.triton_callnow accepts arbitrary backend options via thebackend_optionsargument.- Added a
has_side_effectargument totriton_callto prevent dead-code elimination (DCE) at the XLA level. - Missing metaparams are now filled in from the kernel parameter defaults.
-
jax_tritonis now importable on hosts without GPU support; the GPU support check is deferred until lowering time. -
Breaking changes
- Removed the
jax_triton.utilssubmodule together withjax_triton.cdivandjax_triton.next_power_of_2. Usetriton.cdivandtriton.next_power_of_2instead. - Removed the
enable_fp_fusionargument totriton_call. Passbackend_options=dict(enable_fp_fusion=...)instead. -
When using
input_output_aliases, aliased buffers must no longer be declared as implicit outputs; the aliased input buffer is used directly. A clearer error is now raised for the old calling convention. -
Bug fixes
- Fixed
input_output_aliasesindexing when positional scalar arguments precede array inputs. - Temporary files are no longer leaked when compiling on ROCm.
- The compute capability is now resolved from
gpu_infowhen a device is unavailable. jax_tritonnow unsetsTRITON_CACHE_DIRon import for compatibility with Triton >= 3.4.0.