Skip to content

[DO NOT MERGE] test: tensilelite-common CI with TheRock 703336a pins - #12573

Closed
tony-davis wants to merge 1 commit into
users/tony-davis/tensilelite-hw-common-categoryfrom
users/tony-davis/tensilelite-common-pin-test
Closed

tony-davis wants to merge 1 commit into
users/tony-davis/tensilelite-hw-common-categoryfrom
users/tony-davis/tensilelite-common-pin-test

Conversation

@tony-davis

Copy link
Copy Markdown
Contributor

Testing only. Please don't review or merge this one!

This sits on top of the #12569 / #12492 stack and carries exactly the TheRock pin change from #12526 (TheRock 703336a, baseline run 35954643868). That way CI runs the new tensilelite-common job against the stack every time I push a fix, without waiting for the pin bump to land.

I'll close this once #12526 merges.

Tracking: #12491

… tests

Add a hw-common category to tensilelite/test_categories.yaml that runs
Tensile/Tests/common with -m common, matching Math CI's preliminary stage.
TheRock's tensilelite-common job pins it via TEST_CATEGORY. Give it a
5400s per-test timeout for the slowest config.

Update tensilelite/TESTING.md to describe where Tests/common runs in
TheRock and which gaps remain.

Co-authored-by: Cursor <cursoragent@cursor.com>
@tony-davis
tony-davis force-pushed the users/tony-davis/tensilelite-common-pin-test branch from 134a95d to f937440 Compare September 25, 2026 03:11
@tony-davis

Copy link
Copy Markdown
Contributor Author

No longer needed after rebase.

@tony-davis tony-davis closed this Sep 25, 2026
@therock-pr-bot

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

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass PR does not contain code files — Unit Test auto-passed
🔎 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.

An error occurred while trying to automatically change base from users/tony-davis/tensilelite-hw-common-category to develop September 25, 2026 19:31
tony-davis added a commit that referenced this pull request Sep 25, 2026
… tests (#12492)

ISSUE ID : #12491

## Motivation

`Tensile/Tests/common` (real codegen, build, and execution against a CPU
reference) only runs in Math CI's `preliminary` job today. It doesn't
run anywhere in TheRock Multi-Arch CI or nightly. TESTING.md already
lists this as a known gap (Improvement Roadmap item 5). This PR adds the
category TheRock needs to run it. The TheRock side is a companion PR,
linked below.

## Technical Details

- Adds a `hw-common` category to
`projects/hipblaslt/tensilelite/test_categories.yaml`. It runs
`Tensile/Tests/common` with `-m common` and the prebuilt
`tensilelite-client` from the artifact.
- Arch selection is opt-out, the same way `preliminary` does it.
`configMarks()` tags every config `common` and turns each config's
`skip-gfxNNNN` marks into skips for whatever arch
`rocm_agent_enumerator` reports. So this category deliberately doesn't
use `{AMDGPU_TARGETS}` (that would match almost nothing on real
hardware), and it doesn't pass `--gpu-targets`. Hardware detection also
sets `PyTestBuildArchNames`, which is what lets a gfx120X runner build
for whichever of gfx1200/gfx1201 it actually has.
- `parallel_workers: 4`, which is what Math CI runs. I didn't copy the
16 from the FFM categories. `assign_gpu_to_worker()` maps workers with
`worker_num % num_gpus` and hands out per-worker locks, so on TheRock's
1-GPU runners every worker shares GPU 0.
- Per-test timeout is 5400s, as a hang guard only. Math CI runs this
suite with no per-test timeout, and the slowest config I found in recent
`preliminary` logs (`streamk/sk_I8gemm_quick.yaml`) took 3173s.
- Updates `tensilelite/TESTING.md`: the CI-gates section, the TheRock
row in the lanes table (it still pointed at the retired
`test_tensilelite.py`), two Known Risks rows, and roadmap item 5 (now
the deferred sharding follow-up).
- Worker-to-GPU assignment on TheRock's 1-GPU runners is fixed by #11898
(merged separately), which this PR now picks up from develop. The first
TheRock run of `hw-common` hit exactly that bug: all 76 failures were on
xdist workers gw1-gw3 with `no ROCm-capable device is detected`. With a
worker-assignment fix in place, a later run passed 135 of 136. The one
failure was `gemm/xfp32.yaml`, which #12569 fixes.

Nothing selects `hw-common` until the TheRock PR lands, so this is inert
on its own.

## Test Plan

- Loaded the YAML and ran TheRock's
`pytest_runner.build_marker_expression()` against `hw-common` for each
target family, to confirm the `-m` expression it builds.
- Sized the timeouts from four recent green `preliminary` builds
(PR-12472 #2, PR-12469 #1, PR-12462 #1, PR-12461 #1).
- Real collection and execution need a HIP runtime, so that happens on
the TheRock PR's GPU run.

## Test Result

- Marker expressions come out as `(common) and not skip-<arch>` for
gfx90a, gfx94X, gfx950, and gfx120X.
- Measured `-m common` wall clock in `preliminary` at 4 workers: gfx950
1:43 to 2:03 (182 tests), gfx942 49 to 64 min (136), gfx90a 16 to 24 min
(43), gfx12 13 to 25 min (38).
- Ran `hw-common` on gfx942 through TheRock Multi-Arch CI ([run
35915539444](https://github.com/ROCm/rocm-libraries/actions/runs/35915539444)):
136 tests selected, matching Math CI's `preliminary`. Every test on gw0
passed (46/46). All 76 failures were on gw1-gw3 with `no ROCm-capable
device is detected`, which is what the conftest fix addresses. The suite
ran in 35 minutes.
- With #12569 (the msgpack LibraryClient fix) below it in the stack and
#12526's TheRock pins on top, `tensilelite-common` passed all 136 tests
on gfx942 in 46 minutes on the stack's testing PR, #12573
([job](https://github.com/ROCm/rocm-libraries/actions/runs/36062518748/job/107875479911)).
That includes `gemm/xfp32.yaml`, the one test that failed before #12569.

## Submission Checklist

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

## Risk level

Low. It's a new category plus docs, and nothing selects it until the
TheRock PR merges.

Related: ROCm/TheRock#8459 (companion),
ROCm/TheRock#5183, ROCm/TheRock#3288

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant