Skip to content

ci(gfx1250): Add public gfx1250 hipblaslt + tensilelite HW CI workflow - #12164

Merged
tony-davis merged 16 commits into
developfrom
users/aramalin/gfx1250-hipblaslt-tensilelite-test-workflow
Sep 23, 2026
Merged

tony-davis merged 16 commits into
developfrom
users/aramalin/gfx1250-hipblaslt-tensilelite-test-workflow

Conversation

@archana-ramalingam

@archana-ramalingam archana-ramalingam commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

JIRA ID : AIHPBLAS-4510

Motivation

  • Add per-PR gfx1250 HW test coverage for hipBLASLt and TensileLite

Technical Details

  • Add public gfx1250 hipblaslt + tensilelite HW test workflow
  • Scope guard: org-member label + path filter; forks run only when vetted.
  • Only requires the gfx1250 build to succeed
  • Enabled Per-path scoping
  • Triggers: workflow_run (after TheRock Multi-Arch CI) and workflow_dispatch.
  • Fetches the prebuilt gfx1250 ROCm artifact
  • Graceful-skip when a build reused a baseline (no artifact); real fetch errors fail.
  • Pin the gfx1250v0 target, pass--gpu-targets to pytest, and use a 90-min per-test cap.

Test Plan

  • gfx1250 public CI passes

Test Result

Submission Checklist

Risk level

  • Low — new opt-in workflow, no change to existing CI; dedicated runner; read-only permissions; fork code gated by an org-member label.

@archana-ramalingam
archana-ramalingam requested a review from a team as a code owner September 16, 2026 00:03
@github-actions github-actions Bot added github actions project: none Does not target any component labels Sep 16, 2026
@archana-ramalingam archana-ramalingam changed the title ci(gfx1250): Add public gfx1250 hipblaslt + tensilelite HW test workflow ci(gfx1250): Add public gfx1250 hipblaslt + tensilelite HW CI workflow Sep 16, 2026
@therock-pr-bot

therock-pr-bot Bot commented Sep 16, 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.

@geomin12 geomin12 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks, lgtm! we can land it and iterate and see how it goes

tony-davis added a commit that referenced this pull request Sep 17, 2026
JIRA ID : AIHPBLAS-4510

## Motivation
- 4 gfx1250 TensileLite `common` configs fail on the current gfx1250 HW.
- xfail them so the per-PR and nightly gfx1250 lanes stay green while
the gaps
  are tracked.
  - The separate gfx942 `test_compile` failure is fixed in #12086 

## Technical Details
  - Mark the currently-failing gfx1250 configs `xfail-gfx1250`
- Fix `findAvailableArchs` (`config_helpers.py`) to strip a trailing
version suffix arch — without this the marks never fire on a versioned
runner and the configs stay red.
- FFM path uses HSA_MODEL_MEMFILE to skip any HW specific
`xfail-<arch>`, as these tests failing on HW pass on FFM.
- Add 3 tests in `Tensile/Tests/common/test_config_helpers.py` covering
the arch-suffix strip and the FFM-gate suppression.

## Test Plan
  - 3 new common tests in `test_config_helpers.py`
  - FFM tests pass as expected
- Full gfx1250 HW xfail behavior is exercised once #12164 's workflow
runs post-merge against a rebuilt artifact.

## Test Result
- [x] `pytest Tensile/Tests/common/test_config_helpers.py` → 7 passed (4
existing + 3 new).
- [x] FFM tests pass as expected -
https://github.com/ROCm/rocm-libraries/pull/12178/checks?check_run_id=105181618286
  - gfx1250 HW result pending the post-merge #12164 run.
  
## Submission Checklist

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

## Risk level
- Low — only adds xfail marks to already-failing gfx1250 configs plus a
one-line
arch-normalization with regression tests; no change to any passing test.
`xfail_strict` turns an unexpected pass red, so a fixed config can't
stay silently masked.

---------

Co-authored-by: Tony Davis <tony.davis@amd.com>
archana-ramalingam added a commit that referenced this pull request Sep 22, 2026
tony-davis pushed a commit that referenced this pull request Sep 22, 2026
…250 markers to excluded test (#12355)

JIRA ID : AIHPBLAS-4510

## Motivation
- On gfx1250 hardware, spmm_gate now passes, so its xfail-gfx1250 marker
is stale (XPASS-strict fails). Remove it.
- sgemm_streamk_asm.yaml (multi-arch gfx11/gfx12) isn't tagged gfx1250,
so the `-m gfx1250` CI suite never collects it — add the marker.
- test_config_helpers.py: tag its framework tests into the gfx1250
suite.
- Once spmm_gate is un-xfailed, the xfail-fixture tests #12282 pointed
at it no longer hold — remove them.

## Technical Details
  - Remove the xfail-gfx1250 mark from: 
     - Tensile/Tests/common/sparse/gfx1250/spmm_gate.yaml
  - Add gfx1250 marker to:
     - sgemm_streamk_asm.yaml
     - test_config_helpers.py
  - Drop the 2 tests tied to spmm_gate xfail fixture

## Test Plan
  - gfx1250 TensileLite common run — the test should pass, not XPASS.

## Test Result
- Will be tested via #12164
only after merge.

## Submission Checklist

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

## Risk level
Low — test-only: removes a stale xfail marker + fragile fixture-coupled
tests, adds collection markers. No runtime/library code touched.
archana-ramalingam added a commit that referenced this pull request Sep 23, 2026
@tony-davis

Copy link
Copy Markdown
Contributor

Bypassing CI for merge. New opt-in workflow only.

@tony-davis
tony-davis merged commit 1f16a3b into develop Sep 23, 2026
212 of 222 checks passed
@tony-davis
tony-davis deleted the users/aramalin/gfx1250-hipblaslt-tensilelite-test-workflow branch September 23, 2026 17:40
@assistant-librarian

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

tony-davis added a commit to geotseng-amd/rocm-libraries that referenced this pull request Sep 25, 2026
Brings the branch up to date with develop and ports what landed there
under the gfx1250v0 name onto gfx1250-strict.

Tuning logic. ROCm#12336 and ROCm#12271 replaced 4 gfx1250v0 logic files and
added 7 (including a new Origami pair). The 4 are dropped here too.
The 7 move to gfx1250-strict/, with ScheduleName and ArchitectureName
rewritten the same way d05bf20 did for the rest. Every file in the
tree now matches its develop counterpart apart from those two names.

Test marks. ROCm#12282 skipped three streamk configs on gfx1250v0, and it
and ROCm#12355 dropped xfail-gfx1250 from those and spmm_gate now that
they pass. They keep skip-gfx1250-strict and lose the xfail.
fused_a2a gained skip-gfx1250 on develop, so it also gets
skip-gfx1250-strict, per this branch's convention.

findAvailableArchs keeps this branch's version. The develop version
made gfx1250v0 inherit base gfx1250 marks. That is the opposite of
the mirrored marks here, where a strict config says skip-gfx1250.
The four gfx1250v0 tests in test_config_helpers.py are ported to pin
the strict behaviour instead, including that a base skip-gfx1250 does
not fire on a strict target.

ClientWriter. ROCm#12569 added clientLibraryFiles (msgpack master lookup)
and routed a stepping through computeOutputArchNames, which this
branch removes. It auto-merged into TensileCreateLibrary/__init__.py
as an import of a function that no longer exists, so Tensile failed
to import. The export is dropped. clientLibraryFiles keeps the
msgpack fix but loses the remap, since a stepping is now its own
subdir and master suffix. Its stepping test now checks that
gfx1250-strict is found by name and that the gfx1250 files next to
it are not picked up.

Not changed: .github/workflows/gfx1250_hipblaslt_tensilelite_test.yml
(ROCm#12164, manual dispatch) still passes --gpu-targets gfx1250v0 and
selects with -m "gfx1250 and not skip-gfx1250". It needs porting to
gfx1250-strict as a follow-up.

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.

5 participants