Repository navigation
[tensilelite] Enable tensilelite tests in TheRock CI matrix - #7872
Conversation
TheRock PR #4991 added the tensilelite test component configuration (test script, artifact config, fetch config). Now that it's merged, enable the component in `therock_matrix.py` so tensilelite/rocisa tests run in TheRock CI alongside hipblaslt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Gives a clear error message when _rocisa.abi3.so is loaded under Python < 3.12 instead of the cryptic 'undefined symbol: PyType_FromMetaclass' from the dynamic linker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9776887 to
9f7b8ef
Compare
Codecov Report❌ Patch coverage is
❌ 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 #7872 +/- ##
===========================================
+ Coverage 61.93% 62.02% +0.09%
===========================================
Files 2095 2091 -4
Lines 360865 360422 -443
Branches 54623 54575 -48
===========================================
+ Hits 223476 223518 +42
+ Misses 118533 118047 -486
- Partials 18856 18857 +1
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
…ers.py` Bare `from hip import hip` at module level crashes pytest collection in environments without hip-python (e.g. FFM Docker containers). hip is only used in `run_on_gpu()` — move the import there. hiprtc was unused. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…silelite-therock-matrix
The bump automation bot incorrectly hardcoded the TheRock SHA in 6
workflow files instead of only updating ci-env/action.yml. This restores
the original ${{ inputs.therock_ref }} and ${{ steps.ci-env.outputs.therock-ref }}
expressions and updates ci-env/action.yml to the new ref.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The path filter in therock_configure_ci.py only checked .github/workflows/ and .github/scripts/ — changes to .github/actions/ci-env/ (the single source of truth for the TheRock ref) were not detected, causing CI to skip builds on TheRock ref bump PRs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The common GEMM tests need the prebuilt client binary at libexec/hipblaslt/tensilelite/tensilelite-client, matching the artifact-blas.toml pattern in TheRock. Without this, FFM gfx1250 tests fail with FileNotFoundError. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
geomin12
left a comment
There was a problem hiding this comment.
lgtm but a few comments
Prevents ImportError on systems without hip by using a try/except guard at module level and a combined requires_gpu skip marker that checks both hip availability and gfx950 architecture. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Module-level `validateToolchain()`/`makeIsaInfoMap()` calls in `test_MatrixInstructionConversion.py` poison the rocisa singleton cache at collection time, breaking common tests when collected together. Move to a `scope="module"` fixture so initialization is deferred to test execution time. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Revert ci-env TheRock ref bump and therock_configure_ci.py changes that belong to PR #8014, not this PR. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1af8af7 to
14a0b64
Compare
talumbau
left a comment
There was a problem hiding this comment.
approving for hipblaslt-reviewers. Adding @tony-davis and @Alex-Vasile for .github changes and the Cmake changes, respectively.
…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>
tony-davis
left a comment
There was a problem hiding this comment.
Approving for the .github change (adding tensilelite to the blas projects_to_test matrix) — it's a safe one-line CI enablement. The gpu_test_helpers.py import guard correctly fixes the collection crash in hip-less environments; verified those were the only module-level hip imports. LGTM.
|
I confirm via test logs here: and here: that the timeouts from TheRockCI are passing locally on a machine with gfx942 |
## Summary Add `tensilelite` to the blas `projects_to_test` list in `therock_matrix.py` so tensilelite/rocisa tests run in TheRock CI. ## Technical details - Enable the `TensileLite` component in `therock_matrix.py`. - Guarded `from hip import hip` with try/except in `gpu_test_helpers.py` to prevent `ImportError` on systems without hip. Added `requires_gpu` marker combining hip availability + gfx950 architecture check, applied to all GPU unit test classes. (only subtile unit tests require gfx950 and `hip`) ### Dependency - #6205: Added `CMake` install rules to package `TensileLite`'s Python packages (Tensilelite + rocisa) for artifact-based testing in `TheRock` CI. - #7716: Narrowed xfail marker in `test_PlaceholderMerge.py` to only 2 tests that fail in absence of the logic files - ROCm/TheRock#5529: Added the `tensilelite` test component configuration. - #8196: Update `TheRock` reference to include ROCm/TheRock#5529 changes ## Test plan - [x] `TheRock` CI blas test job picks up `tensilelite` and runs tensilelite/rocisa tests - [x] GPU unit tests skip cleanly (not error) when `hip` module is not installed ## Test results - [x] Artifact layout verified — `share/hipblaslt/tensilelite/{Tensile,rocisa,rocisa_tests}/` - [x] Smoke import: `Tensile.ROOT_PATH` and `rocisa.__file__` resolve to artifact paths - [x] [rocisa](https://github.com/ROCm/rocm-libraries/actions/runs/27043375484/job/79836587812?pr=7872#step:11:92): 48 passed - [x] TensileLite [unit tests](https://github.com/ROCm/rocm-libraries/actions/runs/27043375484/job/79836587812?pr=7872#step:11:1569): - 1325 passed - 212 skipped (subtile tests requires [gfx950 runners](ROCm/TheRock#3288)) - 1 xfailed ([Issue](#7481) filed) AIGECORE-1997 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: therockbot <therockbot@amd.com>
Summary
Add
tensileliteto the blasprojects_to_testlist intherock_matrix.pyso tensilelite/rocisa tests run in TheRock CI.Technical details
TensileLitecomponent intherock_matrix.py.from hip import hipwith try/except ingpu_test_helpers.pyto preventImportErroron systems without hip. Addedrequires_gpumarker combining hip availability + gfx950 architecture check, applied to all GPU unit test classes. (only subtile unit tests require gfx950 andhip)Dependency
CMakeinstall rules to packageTensileLite's Python packages (Tensilelite + rocisa) for artifact-based testing inTheRockCI.test_PlaceholderMerge.pyto only 2 tests that fail in absence of the logic filestensilelitetest component configuration.6e74853(2026-06-08) #8196: UpdateTheRockreference to include [tensilelite] Re-apply test component config and fix PyTorch SDK test failure TheRock#5529 changesTest plan
TheRockCI blas test job picks uptensileliteand runs tensilelite/rocisa testshipmodule is not installedTest results
share/hipblaslt/tensilelite/{Tensile,rocisa,rocisa_tests}/Tensile.ROOT_PATHandrocisa.__file__resolve to artifact pathsAIGECORE-1997