Repository navigation
PR Digest Iteration 63
Period: 2026-08-02 to 2026-08-15 (Iteration 63) | Total PRs: 57 (43 from Xe2/Xe3/Xe3P, 14 from Xe4) | Lines changed: +50,984 / -19,156
The team delivered a broad set of code-generation improvements that reduce register pressure and speed up matrix-heavy workloads, including better handling of chained matrix multiplications, column-major prefetching, and a re-landed cache-control optimization that had previously caused a regression. A second stream of work hardened correctness in timing intrinsics, low-precision conversions, and hardware alignment requirements, including two reverts of incomplete fixes to restore agreement with upstream behaviour. Integration with the vLLM and SGLang inference frameworks was expanded significantly, with new benchmark coverage and per-platform continuous-integration wiring. Three upstream synchronizations were completed with a 99.33% test pass rate.
Key accomplishments:
- Improved generated code quality for matrix-multiplication workloads, including chained multiplications and column-major operand prefetching
- Re-landed the memory cache-control optimization without the performance regression that forced its earlier removal
- Fixed correctness bugs in low-precision conversion, timing intrinsics, and hardware address-alignment handling
- Expanded vLLM and SGLang benchmark and test coverage, with cleaner per-platform continuous-integration triggers
- Stayed fully aligned with the upstream Triton compiler at a 99.33% pass rate
Register-pressure reduction, matrix-multiplication lowering, prefetching, and launch-path overhead.
- #7746 Emit one index per unique register — Reduces redundant index computation in histogram lowering by emitting a single index per unique register. (+30/-2, @etiotto)
- #7668 Improve AccelerateMatmul for chained dot operations — Extends DPAS layout selection to handle chained dot chains where one dot feeds another. (+449/-28, @chengjunlu)
- #7724 Re-land eviction_policy to LSC cache modes without the nontemporal regression — Restores mapping of eviction policies onto LSC cache modes while avoiding the nontemporal-store slowdown. (+189/-3, @etiotto)
- #7685 Don't charge free converts an SLM round-trip — Corrects the layout-conversion cost model so register-only converts are not priced as shared-memory traffic. (+66/-5, @etiotto)
- #7634 Improve the remove layout in handling loop op — Improves layout-conversion removal across loop boundaries. (+178/-26, @chengjunlu)
- #7695 Speed up JIT kernel launch by binding the device/stream lookups once — Caches device and stream lookups at bind time instead of per launch. (+8/-19, @mieshkiwrk)
- #7676 Extend non-negative analysis to catch more signed to unsigned conversions — Broadens the non-negativity analysis so more signed arithmetic is narrowed to cheaper unsigned forms. (+467/-27, @etiotto)
- #7697 Skip 64-byte 2D block IO base-address alignment compensation on relaxed targets — Avoids unnecessary address-compensation code on targets without the 64-byte alignment restriction. (+135/-7, @whitneywhtsang)
- #7603 Improve prefetching op lowering to support column major B matrix prefetching — Adds prefetch lowering for column-major B operands in matrix multiplication. (+537/-319, @chengjunlu)
- #7624 Fix regression that the transpose block IO is not used for column major matrix — Restores use of transposed 2D block I/O for column-major matrices. (+52/-1, @chengjunlu)
- #7667 Strengthen isNonNegative for RemSIOp, DivSIOp, and MaxSIOp — Teaches the non-negativity analysis about signed remainder, divide, and max. (+194/-5, @whitneywhtsang)
- #7623 Guard auto-GRF-256 upgrade against num_warps > 32 — Prevents the automatic large-GRF upgrade in configurations where it is invalid. (+263/-1, @ElroiIzaks)
- #7606 Drop the local_accessor shared memory argument — Removes the unused shared-memory accessor argument from the launcher path. (+196/-37, @mieshkiwrk)
Bug fixes in intrinsics, conversion lowering, and analyses, plus reverts of incomplete fixes.
- #7693 Fix globaltimer and smid on XPU — Corrects the XPU implementations of the global timer and SM identifier intrinsics. (+46/-4, @wdziurdz)
- #7698 Clamp the 2D block load base width to the HW minimum of 64 bytes — Enforces the hardware minimum base width for 2D block loads. (+28/-0, @whitneywhtsang)
- #7589 Implement getGlobalTimer for atomic_poll timeout — Adds a global-timer implementation so atomic polling can time out. (+150/-29, @wdziurdz)
- #7657 Sync DecomposeScaledBlocked broadcastScale from upstream — Realigns scale broadcasting in DecomposeScaledBlocked with upstream. (+61/-51, @NathanVoldman)
- #7663 Revert this incomplete AxisInfo fix to restore alignment with upstream — Reverts a partial axis-analysis change that diverged from upstream semantics. (+6/-38, @whitneywhtsang)
- #7662 Revert "Guard host descriptor synthesis with env var" — Removes the environment-variable guard around host descriptor synthesis. (+2/-13, @whitneywhtsang)
- #7628 Fix fp4_to_fp to produce correct amount of outputs when lowering to llvm — Fixes the output element count when lowering FP4 to floating-point conversions. (+36/-3, @NathanVoldman)
vLLM and SGLang enablement, benchmark infrastructure, and continuous-integration restructuring.
- #7722 Make vLLM tests reusable workflow rolling/lts aware on PVC — Makes the reusable vLLM test workflow distinguish rolling and LTS driver stacks on PVC. (+2/-6, @kwasd)
- #7613 Update vLLM pin — Advances the vLLM pin and refreshes the associated skip lists. (+385/-1496, @quinnlp)
- #7734 Match the large-GRF retry flag the target actually uses — Aligns the test's large-GRF retry flag with the flag the target emits. (+19/-11, @whitneywhtsang)
- #7730 Replace check-paths jobs with paths filter in benchmark workflows — Simplifies benchmark workflows by using native path filters instead of gate jobs. (+58/-138, @whitneywhtsang)
- #7723 Use self-hosted linux runner for check-paths jobs — Moves path-check jobs onto self-hosted runners. (+6/-6, @kwasd)
- #7713 Skip KDA test failing on Max1100 — Skips a vLLM KDA test that fails on Max 1100. (+8/-0, @quinnlp)
- #7707 Skip marlin MoE for XPU in pytest — Skips Marlin mixture-of-experts paths not supported on XPU. (+47/-12, @sarah12121212)
- #7706 Add comments to skiplist — Documents the reasons behind mixture-of-experts skip entries. (+6/-0, @sarah12121212)
- #7708 Add missed skips for MOE interface mismatch — Adds skip entries for mixture-of-experts tests broken by an interface change. (+28/-0, @quinnlp)
- #7700 Consolidate label-triggered workflows into a single dispatcher — Replaces per-workflow label triggers with one dispatcher workflow. (+120/-54, @whitneywhtsang)
- #7539 Update vLLM pin — Advances the vLLM pin with accompanying test-list updates. (+1314/-367, @quinnlp)
- #7683 Split benchmark workflows into per-platform wrappers — Splits SGLang benchmark workflows into per-platform wrapper workflows. (+88/-24, @mieshkiwrk)
- #7678 Add pull_request triggers to workflow files — Enables pull-request triggering for additional workflows. (+41/-0, @whitneywhtsang)
- #7671 Harden install-sglang.sh and drop dead code from the scaled_mm benchmark — Makes the SGLang installer robust and removes unused benchmark code. (+181/-113, @mieshkiwrk)
- #7559 Add run-vllm-benchmarks / run-vllm-tests PR labels — Introduces labels for on-demand vLLM benchmark and test runs. (+33/-15, @quinnlp)
- #7580 Avoid top-k boundary ties causing test failures — Removes top-k tie ambiguity that made mixture-of-experts tests flaky. (+26/-60, @sarah12121212)
- #6789 Initial integration of sglang kernels to benchmarks — Adds SGLang kernels to the benchmark suite. (+1088/-95, @chengjunlu)
- #7659 Install torchvision for SGLang benchmarks — Adds the torchvision dependency needed by SGLang benchmarks. (+15/-0, @quinnlp)
- #7666 Skip failing mrv2 and spec-decode tests — Skips known-failing multi-reward and speculative-decode tests. (+35/-0, @sarah12121212)
- #7664 Fix codeql sarif report and analysis — Repairs CodeQL analysis and report upload. (+39/-1, @exolyr)
- #7567 Add vLLM BMG benchmarks to source change trigger and move PVC schedule — Wires BMG vLLM benchmarks into source-change triggers and reschedules the PVC run. (+47/-11, @quinnlp)
- #7608 Update SGLang pin to v0.5.16 — Advances the SGLang pin and removes obsolete workarounds. (+95/-672, @wdziurdz)
3 upstream merges from OpenAI Triton (commits d4882a3, 9f6f9e0, 56de38e) — pass rate 99.33%.