Skip to content

PR Digest Iteration 60

Tiotto, Ettore edited this page Aug 7, 2026 · 2 revisions

PR Summary

Period: 2026-06-21 to 2026-07-04 (Iteration 60) | Total PRs: 44 (31 from Xe2/Xe3/Xe3P, 13 from Xe4) | Lines changed: +65,819 / -24,049


Triton XPU BE (Xe2/Xe3/Xe3P) (31 PRs, +14,159 / -3,837)

The team made substantial advances in memory access efficiency, adding 2D block I/O for descriptor GEMM kernels with runtime base pointers via a versioning pass, and skipping unnecessary boundary checks for divisible shapes. A new CodeSinking pass reduces register pressure by moving loop-invariant ops closer to their uses. Two new Intel-specific dialect ops for descriptor gather/scatter were introduced, and a CanonicalizePointers pass was ported from AMD to decompose tensor pointer iter-args into scalar+offset form. Mask analysis was extended to handle compound andi patterns and boundary-check idioms from the descriptor-to-pointer rewrite. Three upstream synchronizations were completed with a 99.49%–99.50% test pass rate.

Key accomplishments:

  • Enabled 2D block I/O for descriptor GEMM kernels with runtime base pointers by cloning the loop under a divisibility branch
  • Eliminated redundant boundary checks for descriptor loads and stores when shapes are statically divisible, reducing predicated-load overhead
  • Added a new CodeSinking pass to sink loop-dead ops closer to their uses, reducing live ranges and register pressure
  • Extended InvariantMaskValidator to handle compound andi masks and boundary-check patterns from the descriptor-to-pointer rewrite
  • Ported CanonicalizePointers from AMD to decompose tensor pointer iter-args into scalar base + tensor offset, lowering GRF pressure
  • Added Intel-specific descriptor gather/scatter dialect ops
  • Fixed fp8→fp16 cast chains by folding through the narrow intermediate, improving numerical accuracy in flash attention
  • Raised a proper OutOfResources exception on PTSS overflow so autotuners can skip over unviable configs
  • Added batched FlashAttention benchmark and descriptor API microbenchmarks covering all child issues of #6003

Memory Access & Lowering

New fast paths for 2D block I/O under runtime-shaped descriptors, and elimination of redundant boundary checks where shapes are compile-time divisible.

Analysis & Correctness

Expanded mask analysis passes and the CanonicalizePointers register-pressure reduction.

Compiler Pipeline

New code sinking pass and loop-distribution for multi-dot kernels.

Benchmark & Test Infrastructure

New benchmark integrations and CI probing improvements.

Upstream Alignment

3 upstream merges from OpenAI Triton (commits 4e99439, cc0812e, 38bdcef) — pass rate 99.49%–99.50%.

Clone this wiki locally