[hipblaslt][hipsparselt] Removed AssertFree1DivByMT1LowbitGT1, KRingShift, AssertKRingShiftTailWrapOnly, BAddrInterleave#7513
Merged
eidenyoshida merged 3 commits intoMay 15, 2026
Conversation
Remove all instances of the AssertFree1DivByMT1LowbitGT1 keyword from 8 GridBased Tensile logic yaml files for gfx1250. Co-authored-by: Cursor <cursoragent@cursor.com>
…WrapOnly, BAddrInterleave from gfx942 and gfx950 yaml files Co-authored-by: Cursor <cursoragent@cursor.com>
… gfx1250 GridBased yaml files Remove all instances of these unsupported keywords from 8 GridBased Tensile logic yaml files for gfx1250. Co-authored-by: Cursor <cursoragent@cursor.com>
AndySu12
approved these changes
May 15, 2026
nakajee
approved these changes
May 15, 2026
Contributor
nakajee
left a comment
There was a problem hiding this comment.
The change looks good.
Please make sure no CI fail in hipblaslt/hipsparselt.
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project status has failed because the head coverage (69.24%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #7513 +/- ##
===========================================
- Coverage 66.24% 66.24% -0.00%
===========================================
Files 1605 1606 +1
Lines 267473 267985 +512
Branches 37300 37395 +95
===========================================
+ Hits 177180 177516 +336
- Misses 75456 75571 +115
- Partials 14837 14898 +61
*This pull request uses carry forward flags. Click here to find out more. 🚀 New features to boost your workflow:
|
Collaborator
|
Override merge with below justification: |
assistant-librarian Bot
pushed a commit
to ROCm/hipBLASLt
that referenced
this pull request
May 15, 2026
[hipblaslt][hipsparselt] Removed AssertFree1DivByMT1LowbitGT1, KRingShift, AssertKRingShiftTailWrapOnly, BAddrInterleave (#7513) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Downstream **hipSPARSELt** / **TensileCreateLibrary** builds broke after **[#7443](ROCm/rocm-libraries#7443 (*Manual revert KRingShift*) because **TensileLite** stopped understanding several **Assert\*** / **KRingShift** fields that were **still present** in checked-in **Tensile logic YAML**. This PR **removes those stale keywords** from the affected **hipBLASLt** and **hipSPARSELt** logic files so parsing matches the reverted **Python** behavior. ## Root cause (what broke) - **[#7443](ROCm/rocm-libraries#7443 removed handlers in `projects/hipblaslt/tensilelite/Tensile/Contractions.py` for keys such as **`AssertFree1DivByMT1LowbitGT1`**, **`AssertKRingShiftTailWrapOnly`**, and related **KRingShift** / **BAddrInterleave** plumbing. - Shipped **YAML** under **`projects/hipsparselt/.../Tensile/Logic/...`** (e.g. **gfx950** / **gfx942**) and **`projects/hipblaslt/.../Tensile/Logic/...`** (e.g. **gfx1250** GridBased) still contained those fields. - **TensileCreateLibrary** then hit **`RuntimeError: Unknown assertion key: AssertFree1DivByMT1LowbitGT1`** (and would be vulnerable to the next unknown key if only partially cleaned). So the regression was **YAML ↔ parser skew** after the revert, not the drop Docker image or venv. ## What this PR does - **hipSPARSELt:** strips **`AssertFree1DivByMT1LowbitGT1`**, **`KRingShift`**, **`AssertKRingShiftTailWrapOnly`**, **`BAddrInterleave`** from the **Equality** logic YAMLs under **`aquavanjaram/gfx942`** and **`gfx950`** (the paths exercised by **gfx942;gfx950** builds). - **hipBLASLt:** same cleanup on the **8** **`gfx1250` GridBased** logic YAMLs that still carried those keys. No change to kernel math here—this aligns **on-disk logic** with the **post-#7443** **TensileLite** parser. ## How we know it’s fixed - **Math CI:** **[hipblaslt-drop-build #117](https://math-ci.amd.com/job/image-builder/job/hipblaslt-drop-build/117/)** completed **SUCCESS** with a **`ROCM_LIBS_REF`** that includes this fix, exercising **hipBLASLt** + **hipSPARSELt** with **gfx942;gfx950** (full drop-style lane). - **This PR’s presubmit:** touches `projects/hipsparselt/**` (and **hipBLASLt** logic), so **TheRock** runs the **hipSPARSELt** / **sparselt** workstream for this change—not only **blas**—which directly exercises **TensileCreateLibrary** on the updated YAML. - **PR tag:** includes **`[project:hipsparselt]`** so **hipSPARSELt** is **built and tested** on this PR alongside **hipBLASLt**, not only after merge. ## CI coverage context (why #7443 slipped) - **[#7519](ROCm/rocm-libraries#7519 — documents that **hipBLASLt-only** PRs previously did **not** reliably pull **hipSPARSELt** into the **TheRock** matrix, so **#7443** could merge green while still breaking downstream **hipSPARSELt** / drop builds. - **[#7514](ROCm/rocm-libraries#7514 — follow-up to wire **`projects/hipblaslt/**`** so **`sparselt`** runs when **hipBLASLt** changes, closing that gap long-term (orthogonal to this YAML fix, but related). ## Checklist - [ ] Confirm no remaining **`AssertFree1DivByMT1LowbitGT1`** / stray **KRingShift** keys in the touched trees (`git grep` on the branch). - [ ] After merge, spot-check **TheRock** + optional **hipblaslt-drop-build** on **`develop`**.
vuksan314
added a commit
that referenced
this pull request
May 19, 2026
… YAMLs Align with #7513 which removed these reverted Tensile keys from gfx950/gfx942/gfx1250 logic files. Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
aledudek
pushed a commit
that referenced
this pull request
May 20, 2026
…hift, AssertKRingShiftTailWrapOnly, BAddrInterleave (#7513) ## Summary Downstream **hipSPARSELt** / **TensileCreateLibrary** builds broke after **[#7443](#7443 (*Manual revert KRingShift*) because **TensileLite** stopped understanding several **Assert\*** / **KRingShift** fields that were **still present** in checked-in **Tensile logic YAML**. This PR **removes those stale keywords** from the affected **hipBLASLt** and **hipSPARSELt** logic files so parsing matches the reverted **Python** behavior. ## Root cause (what broke) - **[#7443](#7443 removed handlers in `projects/hipblaslt/tensilelite/Tensile/Contractions.py` for keys such as **`AssertFree1DivByMT1LowbitGT1`**, **`AssertKRingShiftTailWrapOnly`**, and related **KRingShift** / **BAddrInterleave** plumbing. - Shipped **YAML** under **`projects/hipsparselt/.../Tensile/Logic/...`** (e.g. **gfx950** / **gfx942**) and **`projects/hipblaslt/.../Tensile/Logic/...`** (e.g. **gfx1250** GridBased) still contained those fields. - **TensileCreateLibrary** then hit **`RuntimeError: Unknown assertion key: AssertFree1DivByMT1LowbitGT1`** (and would be vulnerable to the next unknown key if only partially cleaned). So the regression was **YAML ↔ parser skew** after the revert, not the drop Docker image or venv. ## What this PR does - **hipSPARSELt:** strips **`AssertFree1DivByMT1LowbitGT1`**, **`KRingShift`**, **`AssertKRingShiftTailWrapOnly`**, **`BAddrInterleave`** from the **Equality** logic YAMLs under **`aquavanjaram/gfx942`** and **`gfx950`** (the paths exercised by **gfx942;gfx950** builds). - **hipBLASLt:** same cleanup on the **8** **`gfx1250` GridBased** logic YAMLs that still carried those keys. No change to kernel math here—this aligns **on-disk logic** with the **post-#7443** **TensileLite** parser. ## How we know it’s fixed - **Math CI:** **[hipblaslt-drop-build #117](https://math-ci.amd.com/job/image-builder/job/hipblaslt-drop-build/117/)** completed **SUCCESS** with a **`ROCM_LIBS_REF`** that includes this fix, exercising **hipBLASLt** + **hipSPARSELt** with **gfx942;gfx950** (full drop-style lane). - **This PR’s presubmit:** touches `projects/hipsparselt/**` (and **hipBLASLt** logic), so **TheRock** runs the **hipSPARSELt** / **sparselt** workstream for this change—not only **blas**—which directly exercises **TensileCreateLibrary** on the updated YAML. - **PR tag:** includes **`[project:hipsparselt]`** so **hipSPARSELt** is **built and tested** on this PR alongside **hipBLASLt**, not only after merge. ## CI coverage context (why #7443 slipped) - **[#7519](#7519 — documents that **hipBLASLt-only** PRs previously did **not** reliably pull **hipSPARSELt** into the **TheRock** matrix, so **#7443** could merge green while still breaking downstream **hipSPARSELt** / drop builds. - **[#7514](#7514 — follow-up to wire **`projects/hipblaslt/**`** so **`sparselt`** runs when **hipBLASLt** changes, closing that gap long-term (orthogonal to this YAML fix, but related). ## Checklist - [ ] Confirm no remaining **`AssertFree1DivByMT1LowbitGT1`** / stray **KRingShift** keys in the touched trees (`git grep` on the branch). - [ ] After merge, spot-check **TheRock** + optional **hipblaslt-drop-build** on **`develop`**. --------- Co-authored-by: Cursor <cursoragent@cursor.com>
bnemanich
added a commit
that referenced
this pull request
May 20, 2026
CI hipBLASLt build on PR #7636 fails with: RuntimeError: Unknown assertion key: AssertFree1DivByMT1LowbitGT1 at `Contractions.py:ProblemPredicate.FromOriginalKeyPair` while `parseLibraryLogicData` walks a gfx950 logic YAML. Root cause: PR #7443 ("manual revert KRingShift") removed the parser handlers for `AssertFree1DivByMT1LowbitGT1` / `AssertKRingShiftTailWrapOnly`, and PR #7513 cleaned the matching keys out of the hipBLASLt / hipSPARSELt library logic YAML files. Both reverts are in our branch's history, but origin/develop has new gfx950 logic YAMLs (e.g. `gfx950/gfx950_128cu/Equality/ gfx950_Cijk_Alik_Bljk_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml`, added by #7125 "update cucount") that were generated *before* the revert pair and therefore still carry the deprecated keys. When CI merges our branch with origin/develop the merged tree contains a YAML the parser can no longer read. Fix: silently ignore the two deprecated keys in `ProblemPredicate.FromOriginalKeyPair`. Matches the spirit of the revert + cleanup pair without requiring follow-up YAML cleanup in develop, and is forward-compatible against any future stale YAML that slips through the same gap. Genuinely unknown `Assert*` keys still raise loudly. New unit tests in `test_Contractions_deprecated_asserts.py` pin the silent-ignore behavior for the two specific keys, verify that unrecognized `Assert*` keys still raise, and check that the existing known `AssertFree0/1ElementMultiple` + `AssertSummationElementMultiple` predicate path is unaffected. Validation: - new tests: 7 passed - full unit suite: 828 passed, 5 skipped, 2 xfailed (was 821 passed) - end-to-end smoke: drove `FromOriginalKeyPair` on a representative stale-key entry set; no `RuntimeError` raised; recognized keys still produce real predicates. Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
Downstream hipSPARSELt / TensileCreateLibrary builds broke after #7443 (Manual revert KRingShift) because TensileLite stopped understanding several Assert* / KRingShift fields that were still present in checked-in Tensile logic YAML. This PR removes those stale keywords from the affected hipBLASLt and hipSPARSELt logic files so parsing matches the reverted Python behavior.
Root cause (what broke)
projects/hipblaslt/tensilelite/Tensile/Contractions.pyfor keys such asAssertFree1DivByMT1LowbitGT1,AssertKRingShiftTailWrapOnly, and related KRingShift / BAddrInterleave plumbing.projects/hipsparselt/.../Tensile/Logic/...(e.g. gfx950 / gfx942) andprojects/hipblaslt/.../Tensile/Logic/...(e.g. gfx1250 GridBased) still contained those fields.RuntimeError: Unknown assertion key: AssertFree1DivByMT1LowbitGT1(and would be vulnerable to the next unknown key if only partially cleaned).So the regression was YAML ↔ parser skew after the revert, not the drop Docker image or venv.
What this PR does
AssertFree1DivByMT1LowbitGT1,KRingShift,AssertKRingShiftTailWrapOnly,BAddrInterleavefrom the Equality logic YAMLs underaquavanjaram/gfx942andgfx950(the paths exercised by gfx942;gfx950 builds).gfx1250GridBased logic YAMLs that still carried those keys.No change to kernel math here—this aligns on-disk logic with the post-#7443 TensileLite parser.
How we know it’s fixed
ROCM_LIBS_REFthat includes this fix, exercising hipBLASLt + hipSPARSELt with gfx942;gfx950 (full drop-style lane).projects/hipsparselt/**(and hipBLASLt logic), so TheRock runs the hipSPARSELt / sparselt workstream for this change—not only blas—which directly exercises TensileCreateLibrary on the updated YAML.[project:hipsparselt]so hipSPARSELt is built and tested on this PR alongside hipBLASLt, not only after merge.CI coverage context (why #7443 slipped)
projects/hipblaslt/**sosparseltruns when hipBLASLt changes, closing that gap long-term (orthogonal to this YAML fix, but related).Checklist
AssertFree1DivByMT1LowbitGT1/ stray KRingShift keys in the touched trees (git grepon the branch).develop.