Skip to content

Revert "feat(tensilelite): Enable PrefetchGL2 with GSU" - #12385

Merged
tony-davis merged 1 commit into
developfrom
revert-11851-users/boringmorning/gl2-gsu
Sep 21, 2026
Merged

tony-davis merged 1 commit into
developfrom
revert-11851-users/boringmorning/gl2-gsu

Conversation

@tony-davis

@tony-davis tony-davis commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Reverts #11851

Fixes #12384

Motivation

TensileLite coverage / Linux has been red on develop since #11851 landed, and Component CI Summary is a required check, so every PR that triggers the tensilelite lane is blocked. The gate reports one regressed file:

coverage_ratchet: FAIL - 1 file(s) regressed:

   baseline    current     delta  file
     94.98%     84.65%   -10.33  Tensile/Components/GL2Prefetch.py

#11851 did ship tests (test_gl2_prefetch_offset.py and test_prefetchgl2_streamk_guard.py), but the new GSU prefetch paths outran them, so the file measures 10.33 points below the floor #11939 set for it on Sep 11. #12384 has the full bisect: last green on 3082a49c, red on #11851's own merge commit and on every tensilelite-touching push since.

Technical Details

Straight revert of #11851, no hand edits. It removes the GSU-with-PrefetchGL2 enablement from GL2Prefetch.py, KernelWriter.py, KernelWriterAssembly.py, Solution.py and ValidParameters.py, plus the two unit tests and the tdm_multicast_gfx1250.yaml test config that came with it.

GL2Prefetch.py at this PR's head is byte-identical to the file on 3082a49c, the last commit where the coverage lane was green (blob 4256c495c in both). So this clears the gate without touching coverage-baseline.json, and the 94.98% floor stands as-is.

This also clears the red on bump PR #12364 and anything else currently tripping the lane.

Test Plan

  • TensileLite coverage / Linux on this PR. It re-measures GL2Prefetch.py from source against the committed baseline, so a green run is the direct check that the floor is satisfied again.
  • The rest of the tensilelite and hipblaslt CI as normal for a codegen change. This removes a kernel-generation path, so the functional suites are the check that nothing depended on it.

Test Result

Pending this PR's own CI run.

Submission Checklist

Risk level

Low (2). This restores the exact GL2Prefetch.py content that was on develop for the two weeks before #11851, so the path it removes has only been live since Sep 21. The cost is feature loss rather than instability: anyone depending on PrefetchGL2 with GSU loses it until a re-land. No baseline or CI configuration changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

One or more issues must be addressed before approval.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 Medium severity · 1 Low severity

Open (3)
What changed in this PR

Reverts PrefetchGL2’s GSU support in TensileLite, restoring rejection of unsupported GSU configurations and removing related tests and code paths.

Changes:

  • Restores PrefetchGL2 GSU validation and removes GSU address-generation logic.
  • Removes GSU-specific offset test coverage.
  • Adjusts gfx1250 benchmark parameters and documentation.
File Description
projects/​hipblaslt/​tensilelite/​Tensile/​Tests/​unit/​test_prefetchgl2_streamk_guard.py Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​Tests/​unit/​test_gl2_prefetch_offset.py Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​Tests/​common/​gemm/​gfx12/​tdm_multicast_gfx1250.yaml Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​SolutionStructs/​Solution.py Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​KernelWriterAssembly.py Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​KernelWriter.py Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​Components/​GL2Prefetch.py Updated as part of this pull request.
projects/​hipblaslt/​tensilelite/​Tensile/​Common/​ValidParameters.py Updated as part of this pull request.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +6516 to +6517
if state["GlobalSplitU"] > 1 or state["GlobalSplitU"] == -1:
reject(state, printRejectionReason, "Currently PrefetchGL2 does not support GSU")
- HalfPLR: [2]
- StoreRemapVectorWidth: [0]
- GlobalSplitU: [1,2,3]
- GlobalSplitU: [1,3]
# or Stream-K other than DP-first (StreamK==3). GSU is supported; with a
# workgroup cluster it forces GlobalSplitUWorkGroupMappingRoundRobin on so the
# cluster's peers share a K chunk. May remove these limitations in the future.
# Currently we do not support GSU, StaggerU, StreamK and general batch. May remove these limitations in the future.
@therock-pr-bot

therock-pr-bot Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@talumbau

Copy link
Copy Markdown
Collaborator

#11851 should not have landed anyway due to patch coverage report anyway:

image

That's just too low to land.

@tony-davis
tony-davis enabled auto-merge (squash) September 21, 2026 18:40
@tony-davis
tony-davis disabled auto-merge September 21, 2026 19:21
@tony-davis
tony-davis merged commit 922a724 into develop Sep 21, 2026
64 of 80 checks passed
@tony-davis
tony-davis deleted the revert-11851-users/boringmorning/gl2-gsu branch September 21, 2026 19:21
@assistant-librarian

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

evedovelli pushed a commit that referenced this pull request Sep 23, 2026
Reverts #11851

Fixes #12384

## Motivation

`TensileLite coverage / Linux` has been red on `develop` since #11851
landed, and `Component CI Summary` is a required check, so every PR that
triggers the tensilelite lane is blocked. The gate reports one regressed
file:

```text
coverage_ratchet: FAIL - 1 file(s) regressed:

   baseline    current     delta  file
     94.98%     84.65%   -10.33  Tensile/Components/GL2Prefetch.py
```

#11851 did ship tests (`test_gl2_prefetch_offset.py` and
`test_prefetchgl2_streamk_guard.py`), but the new GSU prefetch paths
outran them, so the file measures 10.33 points below the floor #11939
set for it on Sep 11. #12384 has the full bisect: last green on
`3082a49c`, red on #11851's own merge commit and on every
tensilelite-touching push since.

## Technical Details

Straight revert of #11851, no hand edits. It removes the
GSU-with-PrefetchGL2 enablement from `GL2Prefetch.py`,
`KernelWriter.py`, `KernelWriterAssembly.py`, `Solution.py` and
`ValidParameters.py`, plus the two unit tests and the
`tdm_multicast_gfx1250.yaml` test config that came with it.

`GL2Prefetch.py` at this PR's head is byte-identical to the file on
`3082a49c`, the last commit where the coverage lane was green (blob
`4256c495c` in both). So this clears the gate without touching
`coverage-baseline.json`, and the 94.98% floor stands as-is.

This also clears the red on bump PR #12364 and anything else currently
tripping the lane.

## Test Plan

- `TensileLite coverage / Linux` on this PR. It re-measures
`GL2Prefetch.py` from source against the committed baseline, so a green
run is the direct check that the floor is satisfied again.
- The rest of the tensilelite and hipblaslt CI as normal for a codegen
change. This removes a kernel-generation path, so the functional suites
are the check that nothing depended on it.

## Test Result

Pending this PR's own CI run.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.

## Risk level

Low (2). This restores the exact `GL2Prefetch.py` content that was on
`develop` for the two weeks before #11851, so the path it removes has
only been live since Sep 21. The cost is feature loss rather than
instability: anyone depending on PrefetchGL2 with GSU loses it until a
re-land. No baseline or CI configuration changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Issue]: TensileLite coverage ratchet red on develop (GL2Prefetch.py baseline stale since #11851)

3 participants