[Autotuner] Introduce Triton-TileIR Backend Support #1250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview and Motivation
This PR introduces support for the Triton-TileIR backend within Helion. The Triton-TileIR backend is an upcoming bridge tool that allows users to use the Triton DSL for developing and compiling operators targeting the TileIR backend. This PR includes performance tuning configuration adjustments tailored for the Triton-TileIR bridge, generating kernels with better performance and improving the efficiency of the autotuning process.
Key Changes
1. Tuning Knob Modifications
All following changes only take effect for the Triton-TileIR backend and won't influence other backends.
num_ctas: analogous to num_ctas in cuTile, used to control the number of CTA in one CGA.occupancy: analogous to occupancy in cuTile, used to control the hardware utilization/occupancy.static_ranges,range_unroll_factors,range_multi_buffers,range_flattens,range_warp_specialize,load_eviction_policies.4.IntegerFragmenttoEnumFragment.block_ptrtype has been removed from the availableindexingtypes.2. Test Cases Adjustments
tl.make_block_ptrandtl.inline_asm_elementwise, have been skipped for the TileIR backend.num_ctasandoccupancy.How to Use
Currently, a completely reliable runtime check for the Triton-TileIR backend is unavailable. Users can explicitly enable the code generation and performance tuning targeting this new backend by setting the environment variable:
export ENABLE_TILE=1