fix(tensilelite): revert Stream-K launch limit changes - #12022
Merged
jayhawk-commits merged 1 commit intoSep 14, 2026
Merged
jayhawk-commits merged 1 commit into
jayhawk-commits merged 1 commit into
Conversation
jayhawk-commits
deleted the
users/jayhawk-commits/revert-tensilelite-streamk-launch-limits-11518
branch
September 14, 2026 04:54
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #12022 +/- ##
========================================
Coverage 70.23% 70.23%
========================================
Files 2810 2810
Lines 462535 462535
Branches 68105 68105
========================================
+ Hits 324821 324828 +7
+ Misses 114191 114187 -4
+ Partials 23523 23520 -3
*This pull request uses carry forward flags. Click here to find out more. 🚀 New features to boost your workflow:
|
Contributor
TheRock Submodule Bump ActivityNewest first
|
4 tasks
tony-davis
pushed a commit
to ROCm/TheRock
that referenced
this pull request
Sep 15, 2026
## Summary Test selection returns **no tests** for a change confined to TensileLite, because the nested subtree path `projects/hipblaslt/tensilelite` has no entry in `_EXTERNAL_SUBTREE_ALIASES`. This adds the alias. ## Motivation ROCm/rocm-libraries#11785 taught rocm-libraries' change detection to report `projects/hipblaslt/tensilelite` (longest-prefix match) instead of collapsing TensileLite files into `projects/hipblaslt`. `determine_rocm_test_dependencies.py` has no alias for that string, so it falls through to the `projects/` strip, produces the non-existent graph key `hipblaslt/tensilelite`, warns, and selects nothing — while exiting `0`. Verified against `df3d451` (the commit rocm-libraries pins today): ```console $ python test_tools/determine_rocm_test_dependencies.py \ --changed-projects projects/hipblaslt/tensilelite Warning: unrecognized project(s) ['hipblaslt/tensilelite']; no tests will be selected for them ["hipblaslt/tensilelite"] $ echo $? 0 ``` The consequence is visible in rocm-libraries. TensileLite-only PRs ran a sanity check and nothing else: | PR | files | multi-arch test components | |---|---|---| | ROCm/rocm-libraries#11518 | `tensilelite/src` + 2 new `tensilelite/tests/*.cpp` | no `Test tensilelite` | | ROCm/rocm-libraries#11896 | 7, all under `projects/hipblaslt/tensilelite/**` | sanity only | | ROCm/rocm-libraries#11877 | 6, all under `projects/hipblaslt/tensilelite/**` | sanity only | ROCm/rocm-libraries#11518 merged that way and was reverted by ROCm/rocm-libraries#12022 after failing `Test tensilelite` on gfx94X and gfx950 in this repo's CI — after merge, blocking the submodule bump in #8183. ## Technical Details One alias entry. `tensilelite` is already a synthetic node at level 3 (`test_policies.toml`), so selection also reaches `hipblaslt`, `rocblas` and `hipblas` transitively — the same set `shared/stinkytofu` already gets. After the change, on the real committed graph: ```console $ python test_tools/determine_rocm_test_dependencies.py \ --changed-projects projects/hipblaslt/tensilelite ["hipblas", "hipblaslt", "hipblasltprovider", "hipdnn-samples", "hipsolver", "hipsparse", "hipsparselt", "miopen", "miopenprovider", "rocalution", "rocblas", "rocsolver", "rocsparse", "rocwmma", "tensilelite"] ``` ## Risk Assessment Risk 2. Test-selection only; no product or device behaviour changes. It strictly widens selection for one input that currently selects nothing, so the failure mode is longer CI on TensileLite PRs, not reduced coverage. ## Related - Work tracking: ROCm/rocm-libraries#11784 - Introduced by: ROCm/rocm-libraries#11785 (rocm-libraries half of the nested-subtree fix) - Companion PRs: #7998 (TensileLite as a synthetic node), #7999 (longest-prefix match) - Fallout: ROCm/rocm-libraries#11518, reverted by ROCm/rocm-libraries#12022, blocking #8183 ## Testing Summary - Unit: new regression test in `determine_rocm_test_dependencies_test.py`, plus the existing suite. - Manual: CLI run against the real committed graph, before and after. ## Testing Checklist - [x] New regression test — `python -m unittest test_tools.tests.determine_rocm_test_dependencies_test -k nested_tensilelite` — Status: Passed - [x] Verified it fails without the fix (stashed the alias, test fails) — Status: Passed - [x] Full selector suite — `python -m unittest test_tools.tests.determine_rocm_test_dependencies_test` — 70 tests — Status: Passed - [ ] PR CI — Status: Pending The new test declares `[synthetic.tensilelite]` in its fixture, mirroring the real `test_policies.toml`, so it exercises the walk past the alias rather than stubbing it. Clean `stderr` is asserted deliberately: the regression was a warning plus an empty selection, not a non-zero exit. ## Device / Architecture Coverage None. Change-detection logic only; no compiled code and no device behaviour. PR CI is sufficient. ## Adjacent Tests Considered `shared/stinkytofu`, `shared/origami`, `shared/mxdatagenerator` and `shared/tensile` all resolve through the same alias table and are covered by `test_shared_blas_prefixes_mapped`; all still pass. ## Follow-ups not in this PR 1. **`projects/hipblaslt` still does not select `tensilelite`.** A non-TensileLite hipBLASLt change selects `[hipblas, hipblaslt, hipblasltprovider, hipsparselt, miopen, rocblas]`. rocm-libraries' `therock_matrix.py` maps `projects/hipblaslt` → `blas` → `[hipblaslt, rocblas, hipblas, tensilelite]`. Closing that gap means adding `tensilelite` as a consumer of `hipblaslt` in the consumer graph, which is a larger change than an alias and wants its own review. 2. **Unmapped `projects/` paths fail open.** `_EXTERNAL_ONLY_NAMESPACES` makes an unmapped `shared/` path raise, but an unmapped `projects/` path warns and exits `0`, yielding a green run with no tests. Extending the fail-closed behaviour would have surfaced this on the day ROCm/rocm-libraries#11785 merged rather than via a revert a week later. Co-authored-by: Claude Fable 5 <noreply@anthropic.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.
Motivation
Revert the TensileLite Stream-K launch limit changes from #11518 because they cause the TheRock Multi-Arch CI
Test tensilelitejob to fail on both gfx94X and gfx950.This is blocking the rocm-libraries submodule bump in ROCm/TheRock#8183.
Triage
The failing control is ROCm/TheRock#8183, which bumps rocm-libraries from
d316419toa70d405:The failing jobs are:
The common failure signatures are
CuCount_test.cppassertions in the StreamK launch-limit tests:gfx94X also reports:
Validation
Scoped TheRock Multi-Arch CI was run on top of the ROCm/TheRock#8183 pin with only the three files changed by #11518 restored:
triage/pr8183-revert-tensilelite-11518/a597b3c68978users/jayhawk-commits/pr8183-tensilelite-revert-11518/0772634db4Scope:
This PR applies the same three-file revert on current
develop. No commits after #11518 touched these three files before this revert.Fixes #12021