[Triton/Gluon] [CI] [DO NOT MERGE] ci: triton release_tmp2 + 3.8.0, with GDN block-ptr fix - no-e2e test - #5083
Open
yuyzhang512 wants to merge 6 commits into
Open
Conversation
… Triton 3.8
Triton 3.8 removed block pointers. tl.make_block_ptr still exists as a symbol
but raises at trace time:
NotImplementedError: Block pointers have been removed in favor of the
tensor descriptor API
so every gated_delta_rule kernel using it fails to compile. This is an API
removal, not a GPU issue - it reproduces identically on gfx950 and gfx942, and
is what makes op_tests/test_gdn_prepare.py fail on both MI35X and MI300X.
Convert all 128 block accesses to plain pointer arithmetic with explicit bounds
masks, reproducing the previous boundary_check=(0, 1) semantics:
prefill/chunk_o.py 42 sites (6 kernels)
prefill/fused_solve_tril_recompute.py 41
utils/solve_tril.py 35
prefill/fused_cumsum_kkt.py 10
utils/cumsum.py 2
The 2-D helper in chunk_o.py takes both strides so the transposed (K, T) views
with stride (1, H * K) convert without a special case. Stores keep their
fp_downcast_rounding="rtne" behaviour.
Validation on gfx950 with triton 3.8.0+amd.rocm7.1.0.gitf6a045ff:
op_tests/test_gdn_prepare.py 28 rows, max |err| = 0.0, all shapes / all
three hidden backends (triton/flydsl/hip)
….8.0 Switch the Triton wheel index channel from release to release_tmp2 in install_triton.sh and download_triton_wheel.sh so CI resolves wheels from the temporary channel: https://pypi.amd.com/triton/release_tmp2/rocm-<ver>/simple/ Also bump the pinned Triton wheel from 3.7.0 to 3.8.0. Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
PR title tags: |
MI35X: also deselect test_mha_varlen_with_pe[True-0.17-96-64-8-1-64-128]. MI300X: deselect test_pa_prefill and test_chunked_pa_prefill fp8e4m3 contexted_kv_attention cases that fail an accuracy check with the coming Triton release. Co-Authored-By: Claude <noreply@anthropic.com>
Also skip the 128-8-64 variants of test_pa_prefill and test_chunked_pa_prefill contexted_kv_attention that fail an accuracy check with the coming Triton release. Co-Authored-By: Claude <noreply@anthropic.com>
Also skip test_pa_prefill[128-fp8e4m3-dtype0-128-64-64] and test_chunked_pa_prefill[1024-fp8e4m3-dtype0-128-1-64] that fail an accuracy check with the coming Triton release. Co-Authored-By: Claude <noreply@anthropic.com>
…d_kv_attention Replace the per-shape fp8e4m3 deselects with whole-node deselects for test_pa_prefill and test_chunked_pa_prefill test_contexted_kv_attention, since these hang the GPU on gfx942 with the coming Triton release. Co-Authored-By: Claude <noreply@anthropic.com>
yuyzhang512
added a commit
to yuyzhang512/aiter
that referenced
this pull request
Aug 31, 2026
…riton tests Two additions on top of the release_tmp2 gdn block-pointer work: 1. Convert the remaining tl.make_block_ptr in l2norm.py (4 sites) and wy_representation.py (11) to plain pointer arithmetic for Triton 3.8. Both are on live e2e inference paths (l2norm_fwd on the qk-l2norm path, recompute_w_u_fwd on the non-fused chunk path) that test_gdn_prepare.py does not exercise, so a real GDN forward otherwise raises NotImplementedError at trace time. Verified: chunk_gated_delta_rule(use_qk_l2norm_in_kernel=True) runs to finite output on gfx950. 2. Deselect three triton tests that fail an accuracy check on the coming release (from ROCm#5083): - MI35X: test_mha_varlen_with_pe[True-0.17-96-64-8-1-64-128] (gfx950 scheduling regression from reverting amdgpu-use-amdgpu-trackers) - MI300X: test_contexted_kv_attention in test_pa_prefill.py and test_chunked_pa_prefill.py (accuracy fail, can hang the GPU)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Motivation
Validate the coming Triton 3.8.0 release for AITER end to end: point CI at the temporary
release_tmp2wheel channel, bump the pinned Triton to 3.8.0, and include the gated-delta-rule fix required to run on 3.8.0 (wheretl.make_block_ptrwas removed). This branch is for CI validation only and should not be merged.Technical Details
39c1154f5): replaces the removedtl.make_block_ptrblock loads/stores with explicit pointer-arithmetic helpers (_bp_ld1d/_bp_st1d/_bp_ld2d/_bp_st2d) plus bounds masks acrosschunk_o.py,fused_cumsum_kkt.py,fused_solve_tril_recompute.py,cumsum.py, andsolve_tril.pyunderaiter/ops/triton/_triton_kernels/gated_delta_rule/..github/scripts/install_triton.shand.github/scripts/download_triton_wheel.sh: switch the Triton wheel index channel fromreleasetorelease_tmp2, so the index URL becomeshttps://pypi.amd.com/triton/release_tmp2/rocm-<ver>/simple/(both the default and the rocm-core-derived paths), and bump the pinned Triton wheel from3.7.0to3.8.0.Test Plan
release_tmp2index.Test Result
Submission Checklist