Repository navigation
feat(tensilelite): Add pre-submit GPU emulation dispatch workflow - #8004
archana-ramalingam wants to merge 2 commits into
Conversation
…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>
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
*This pull request uses carry forward flags. Click here to find out more. 🚀 New features to boost your workflow:
|
4a18381 to
428a40e
Compare
…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>
|
The 5 StreamK MX tests are marked as |
geomin12
left a comment
There was a problem hiding this comment.
i see that the CI trigger isn't running? we should also add this CI into here:
also, let's keep the PR scoped to only .github/workflows/tensilelite-ffm-ci.yml. the other files should be in a separate PR
geomin12
left a comment
There was a problem hiding this comment.
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>
2a5c3af to
a92bf1a
Compare
|
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 |
…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>
Summary
Add a GitHub Actions workflow that dispatches gfx1250 common GEMM tests on GPU emulation for the PR pre-submits in TensileLite.
Technical details
.github/workflows/tensilelite-ffm-ci.ymlpull_requesttodevelopfor paths underprojects/hipblaslt/tensilelite/**repository_dispatchwithevent_type=psdb-triggerto an external CI repo viagh apirepo,commit,pr_number,families=gfx1250,component_list=tensileliteFeature 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
common GEMM test support to
test_tensilelite.pyTest plan
Test results
AIHPBLAS-3508