Skip to content

feat(tensilelite): Add pre-submit GPU emulation dispatch workflow - #8004

Closed
archana-ramalingam wants to merge 2 commits into
developfrom
users/aramalin/gpu-emu-presubmit
Closed

archana-ramalingam wants to merge 2 commits into
developfrom
users/aramalin/gpu-emu-presubmit

Conversation

@archana-ramalingam

@archana-ramalingam archana-ramalingam commented Jun 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add a GitHub Actions workflow that dispatches gfx1250 common GEMM tests on GPU emulation for the PR pre-submits in TensileLite.

Technical details

  • New workflow .github/workflows/tensilelite-ffm-ci.yml
    • Triggers on pull_request to develop for paths under projects/hipblaslt/tensilelite/**
    • Sends repository_dispatch with event_type=psdb-trigger to an external CI repo via gh api
    • Payload includes repo, commit, pr_number, families=gfx1250, component_list=tensilelite
    • Downstream handler posts commit statuses back to the source PR automatically
    • Forked PRs cannot trigger dispatch (no access to secrets)

Feature coverage (57/83 gfx1250 tests, all kernel features)

FP16/BF16, FP32/XFP32, FP64, INT8, FP8, FP6, FP4, MX, TDM, LargeLDS, 1024VGPR, StreamK, Sparse, Gradient, Activation, Transposes

Dependency

  • Companion TheRock PR: ROCm/TheRock#5590 adds gfx1250
    common GEMM test support to test_tensilelite.py

Test plan

  • gfx1250 common GEMM tests via emulation runs end-to-end

Test results

  • gfx1250 common GEMM tests pass (78 passed, 5 xfail)
  • Quick subset: 57 tests in 16:50, timing consistent across 5 iterative runs

AIHPBLAS-3508

@archana-ramalingam
archana-ramalingam requested a review from a team as a code owner June 3, 2026 06:12
@github-actions github-actions Bot added github actions project: none Does not target any component labels Jun 3, 2026
@archana-ramalingam
archana-ramalingam marked this pull request as draft June 3, 2026 06:25
Comment thread .github/workflows/gpu-emu-presubmit.yml Resolved
@archana-ramalingam
archana-ramalingam marked this pull request as ready for review June 9, 2026 02:36
archana-ramalingam added a commit that referenced this pull request Jun 9, 2026
…o PR #8004

These changes belong with the GPU emulation dispatch work, not the CI
matrix enablement PR.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@archana-ramalingam
archana-ramalingam requested review from a team as code owners June 9, 2026 18:58
@codecov-commenter

codecov-commenter commented Jun 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

❌ Your project status has failed because the head coverage (77.83%) 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    #8004      +/-   ##
===========================================
- Coverage    65.18%   65.18%   -0.00%     
===========================================
  Files         2597     2597              
  Lines       404525   404613      +88     
  Branches     60261    60281      +20     
===========================================
+ Hits        263670   263721      +51     
- Misses      121057   121082      +25     
- Partials     19798    19810      +12     
Flag Coverage Δ *Carryforward flag
TensileLite 31.02% <ø> (ø) Carriedforward from a92bf1a
hipBLAS 90.62% <ø> (ø) Carriedforward from a92bf1a
hipBLASLt 41.36% <ø> (+0.10%) ⬆️
hipCUB 82.68% <ø> (ø) Carriedforward from a92bf1a
hipDNN 86.69% <ø> (ø) Carriedforward from a92bf1a
hipFFT 50.97% <ø> (ø) Carriedforward from a92bf1a
hipRAND 76.12% <ø> (ø) Carriedforward from a92bf1a
hipSOLVER 69.18% <ø> (ø) Carriedforward from a92bf1a
hipSPARSE 86.55% <ø> (ø) Carriedforward from a92bf1a
rocBLAS 48.08% <ø> (ø) Carriedforward from a92bf1a
rocFFT 49.48% <ø> (ø) Carriedforward from a92bf1a
rocRAND 57.02% <ø> (ø) Carriedforward from a92bf1a
rocSOLVER 77.83% <ø> (ø) Carriedforward from a92bf1a
rocSPARSE 72.68% <ø> (ø) Carriedforward from a92bf1a
rocThrust 91.34% <ø> (ø) Carriedforward from a92bf1a

*This pull request uses carry forward flags. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@archana-ramalingam
archana-ramalingam force-pushed the users/aramalin/gpu-emu-presubmit branch from 4a18381 to 428a40e Compare June 11, 2026 10:39
archana-ramalingam added a commit to ROCm/TheRock that referenced this pull request Jun 15, 2026
…5590)

## Summary
Extend TensileLite test infrastructure to support gfx1250 common GEMM
tests under GPU emulation, building on the test component foundation
from #5529.

## Technical details

- `test_tensilelite.py`:
- Add `UNIT_TEST_SKIP_FAMILIES` set for arch-gated unit test skipping
(currently `gfx1250`)
  - Add gfx1250 common GEMM test section to `test_tensilelite.py`
- Use `-m "gfx1250 or gfx12" -k gfx1250` to select tests from both
`gfx1250/` directories and `gemm/gfx12/*gfx1250*` files
- Honor `TEST_PROFILE` env var: `default` runs curated 57-test subset
(~17 min), `nightly` runs all gfx1250 tests
- Add `lib/llvm/lib` to `LD_LIBRARY_PATH` (fixes `libomp.so` load
failure for `tensilelite-client`)
- `FFM_QUICK_INCLUDE`: 57 curated tests with `.yaml` suffix patterns and
path prefixes for disambiguation
- `CMakeLists.txt`: Enable `TENSILELITE_ENABLE_CLIENT` on Linux only
(Windows MSVC has pre-existing `DataInitialization.hpp` compilation
issues)
- Add `libexec/hipblaslt/tensilelite/**` to `artifact-blas.toml` test
component

## Linked PRs
- Companion rocm-libraries PR:
[ROCm/rocm-libraries#8004](ROCm/rocm-libraries#8004)
— client install rule + `makeIsaInfoMap` fixture fix + xfail marks for 5
known-failing streamk tests

## Test plan
- [x] CI build passes (existing tensilelite tests unaffected — common
test section is a no-op without gfx1250 emulator)
  - [x] Windows build passes (client build disabled on Windows)
- [x] gfx1250 emulation run: `tensilelite-client` launches without
`libomp.so` errors
  - [x] Quick subset selects exactly 57 tests, no ambiguous `-k` matches

## Test results
- [x] 78/83 gfx1250 tests pass, 5 streamk MX tests xfail'd (solution
validation regression)
- [x] Quick subset: 57 tests in 16:50, timing consistent across 5
iterative runs

AIHPBLAS-3508

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@archana-ramalingam

archana-ramalingam commented Jun 15, 2026 •

Copy link
Copy Markdown
Contributor Author

The 5 StreamK MX tests are marked as xfail in this PR to unblock FFM CI.
Tracking issue: #8447
Edit: Issue is now closed and test breaking changes were reverted.

@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.

i see that the CI trigger isn't running? we should also add this CI into here:

SKIPPABLE_PATH_PATTERNS = [

also, let's keep the PR scoped to only .github/workflows/tensilelite-ffm-ci.yml. the other files should be in a separate PR

Comment thread projects/hipblaslt/CMakeLists.txt Resolved

@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.

CI was skipped, not sure why?

- New workflow tensilelite-ffm-ci.yml: dispatches gfx1250 emulation
  tests on TensileLite PRs via external CI
- Register tensilelite-* in GITHUB_WORKFLOWS_CI_PATTERNS
- Uses git diff path check (no third-party actions)
- No paths: trigger filter (compatible with required checks)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@archana-ramalingam
archana-ramalingam force-pushed the users/aramalin/gpu-emu-presubmit branch from 2a5c3af to a92bf1a Compare June 16, 2026 23:18
@archana-ramalingam archana-ramalingam changed the title [tensilelite] Add pre-submit GPU emulation dispatch workflow feat(tensilelite): Add pre-submit GPU emulation dispatch workflow Jun 23, 2026
@archana-ramalingam

Copy link
Copy Markdown
Contributor Author

Closing — the dispatch approach requires secrets in the public repo, which isn't permitted. FFM testing is handled via an alternative path that doesn't need public-side secrets. The tensilelite-* CI pattern change overlaps with #8249.

@archana-ramalingam
archana-ramalingam deleted the users/aramalin/gpu-emu-presubmit branch June 23, 2026 07:42
archana-ramalingam added a commit that referenced this pull request Jun 25, 2026
…singleton poisoning (#8520)

## Motivation
Split from PR #8004 per reviewer request. These changes are
prerequisites for GPU emulation testing on gfx1250.

## Technical Details
- `CMakeLists.txt`: Install `tensilelite-client` to
`libexec/hipblaslt/tensilelite` when the target exists. Required for FFM
emulation tests to locate the prebuilt client binary.
- `test_MatrixInstructionConversion.py`: Move `validateToolchain()` and
`makeIsaInfoMap()` from module level to
`@pytest.fixture(scope="module")`. Prevents rocisa singleton poisoning
when unit and common test modules are collected in the same pytest
session.

## Test Plan
- [x] CI build passes (tensilelite-client install is conditional on
target existence)
- [x] TensileLite unit tests pass (fixture change is
backwards-compatible)

## Test Result
- [x] Both changes validated in FFM CI runs (78/83 gfx1250 tests pass)

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

JIRA ID: AIHPBLAS-3508

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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.

3 participants