What is Helion?
mainHelion is a Python-embedded domain-specific language (DSL) for authoring machine learning kernels. It compiles down to [Triton], providing a higher level of abstraction than raw Triton.
Helion automates several complex kernel engineering tasks through autotuning, including:
- Tensor Indexing: Automatically calculates strides and indices, supporting various methods like pointers, block pointers, and
TensorDescriptors. - Masking: Most masking is implicit and optimized away when unnecessary.
- Grid Sizes and PID Calculations: Automatically determines grid sizes and maps Program IDs (PIDs) to data tiles.
- Kernel Arguments Management: Automates handling of tensor sizes, strides, and lifting global variables/closures into kernel arguments.
- Automated Optimizations: Includes PID swizzling, loop reordering, persistent kernel strategies, and warp specialization.
- Looping Reductions: Automatically converts large reductions into looped implementations.