Repository navigation
test(miopen): skip StaticFDBSync for gfx1201 CU counts with no shipped system db - #14931
Merged
yassinsolim merged 2 commits intoNov 4, 2026
Merged
Conversation
…d system db Only the 64-CU (32-WGP) gfx1201 ships a system db (gfx120140). The gfx1201 StaticFDBSync param used num_cu 0, so every gfx1201 device ran it and any other CU count, such as the 56-CU part, failed on the missing gfx120138 file. Pass 32 so the existing GetSysDbSelectionCu check skips other CU counts, the same way gfx942 and gfx950 are handled (#13416).
… not match The CU-count skip printed nothing, so a skipped gfx1201 param looked the same as a param for another arch. Report the device CU count and the system db CU count it selects.
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are identified for the test-only gfx1201 database-configuration restriction.
No open issues 🎉
What changed in this PR
This test-only change addresses the gfx1201 missing-database failure in #13416 by limiting StaticFDBSync to the 64-CU configuration with a shipped system database. Runtime database selection is unchanged.
Changes:
- Sets the gfx1201 parameter to 32 WGPs (64 CUs), using the existing mismatch check to skip other configurations.
- Adds diagnostic details to CU-mismatch skips.
- Preserves parameter index 11 and leaves other architecture parameters unchanged.
| File | Description |
|---|---|
projects/miopen/test/gtest/db_sync.cpp |
Restricts gfx1201 validation to the shipped database configuration and adds skip diagnostics. |
Review effort: Balanced
jdcampbe
approved these changes
Nov 4, 2026
yassinsolim
deleted the
users/yassinsolim/staticfdbsync-gfx1201-cu-skip
branch
November 4, 2026 15:48
cycheng
pushed a commit
that referenced
this pull request
Nov 6, 2026
…d system db (#14931) ISSUE ID : #13416 ## Motivation `Smoke/CPU_DBSync_NONE.StaticFDBSync/11` (gfx1201) fails on gfx1201 devices whose CU count has no shipped system db. Only `gfx120140` (64 CU) ships. A 56-CU gfx1201 looks for `gfx120138.HIP.fdb.txt` and the test stops at the file-exists assert in `SetupPaths` ("Db file does not exist") before it checks any entry. Windows rockrel gfx120X-all nightlies hit this on a 56-CU runner. This is the gfx1201 half of #13416. The open PR #13179 uses the same mechanism for gfx1101. ## Technical Details - `test/gtest/db_sync.cpp`: the gfx1201 `StaticFDBSync` param changes from `0` to `32`. `Handle::GetMaxComputeUnits` reports WGPs on gfx12xx, so 32 is the 64-CU part and maps to `gfx120140`. The existing check in `StaticFDBSync` (`GetSysDbSelectionCu(arch, real_cu) != num_cu`) then skips every other gfx1201 CU count. No new skip logic is added. - The CU-mismatch skip now says why it skipped (device CU count and the CU count whose db it selects). It used to print nothing. - The param index stays 11, so the gtest name does not change. - No CHANGELOG entry, this is test-only. What could break or is left out: - gfx1201 parts other than 64 CU (for example 56 and 48 CU) no longer run `StaticFDBSync`. At runtime MIOpen still loads the closest shipped database for them, and this test no longer checks that data. A 56-CU check done earlier on this issue (emulated CU count) showed 83,001 Winograd entries from `gfx120140` that are invalid at 56 CU. Shipping a `gfx120138` pair tuned on a 56-CU part is still the fix for that. - gfx1100 (70, 80 and 84 CU), gfx1151 and gfx1200 params are unchanged, so the same gap on those arches is not addressed here. - #14882 excludes `Smoke/CPU_DBSync_NONE.StaticFDBSync/11` from TheRock gfx120X CI. Once this and #14882 are in and TheRock picks up this change, that exclusion can be dropped. ## Test Plan Built `test_db_sync` for gfx1201 from this branch (CK for gfx1201 plus MIOpen, ROCm 7.14.1 container, Ubuntu 24.04), and a second binary with only `db_sync.cpp` reverted to develop as a control. No 56-CU gfx1201 was available, so the CU count was emulated with the rocjitsu KMD interposer (same runner config as `run_dbsync_rocjitsu.py`, `cu_correct_config` to 56, 48 and 64 CU). 1. 56-CU and 48-CU emulated gfx1201 with this branch: `StaticFDBSync/11` must skip. 2. 56-CU emulated gfx1201 with the develop binary: expected to fail on the missing file. 3. 64-CU emulated gfx1201 with this branch: `StaticFDBSync/11` must still run the whole database check. 4. Real gfx1201 (Radeon AI PRO R9700, 64 CU) with this branch, `--gtest_filter='*StaticFDBSync*'`: only `/11` runs, the other 11 params skip. ## Test Result 1. Skipped at 56 CU and at 48 CU. With the filter `*StaticFDBSync*` at 56 CU all 12 params skip. The message printed is: `Skipping gfx1201 param 32: this device reports 28 compute units and selects the system db for 28, which differs from this param.` 2. Develop binary at 56 CU: `Db file does not exist ".../gfx120138.HIP.fdb.txt"` and `[ FAILED ] Smoke/CPU_DBSync_NONE.StaticFDBSync/11, where GetParam() = ("gfx1201", 0)`. This is the failure from the issue. 3. 64 CU emulated: `Handle CU count: 32 Parameter Value: 32`, reads `gfx120140.HIP.fdb.txt`, `[ OK ] Smoke/CPU_DBSync_NONE.StaticFDBSync/11 (552657 ms)`, 1 test passed. 4. Real R9700: `Handle CU count: 32 Parameter Value: 32`, reads `gfx120140.HIP.fdb.txt`, `[ OK ] StaticFDBSync/11 (11882 ms)`, 1 passed and 11 skipped. Not run: a real 56-CU gfx1201 (the skip at 56 CU is shown with an emulated CU count), Windows, and the Jenkins or TheRock CI jobs. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/TheRock/blob/main/GOVERNANCE.md#pull-requests.
Contributor
TheRock Submodule Bump ActivityNewest first
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ISSUE ID : #13416
Motivation
Smoke/CPU_DBSync_NONE.StaticFDBSync/11(gfx1201) fails on gfx1201 devices whose CU count has no shipped system db. Onlygfx120140(64 CU) ships. A 56-CU gfx1201 looks forgfx120138.HIP.fdb.txtand the test stops at the file-exists assert inSetupPaths("Db file does not exist") before it checks any entry. Windows rockrel gfx120X-all nightlies hit this on a 56-CU runner. This is the gfx1201 half of #13416. The open PR #13179 uses the same mechanism for gfx1101.Technical Details
test/gtest/db_sync.cpp: the gfx1201StaticFDBSyncparam changes from0to32.Handle::GetMaxComputeUnitsreports WGPs on gfx12xx, so 32 is the 64-CU part and maps togfx120140. The existing check inStaticFDBSync(GetSysDbSelectionCu(arch, real_cu) != num_cu) then skips every other gfx1201 CU count. No new skip logic is added.What could break or is left out:
StaticFDBSync. At runtime MIOpen still loads the closest shipped database for them, and this test no longer checks that data. A 56-CU check done earlier on this issue (emulated CU count) showed 83,001 Winograd entries fromgfx120140that are invalid at 56 CU. Shipping agfx120138pair tuned on a 56-CU part is still the fix for that.Smoke/CPU_DBSync_NONE.StaticFDBSync/11from TheRock gfx120X CI. Once this and test(miopen)[ALMIOPEN-2966]: exclude TheRock bump failures on gfx120X and Windows gfx1151 #14882 are in and TheRock picks up this change, that exclusion can be dropped.Test Plan
Built
test_db_syncfor gfx1201 from this branch (CK for gfx1201 plus MIOpen, ROCm 7.14.1 container, Ubuntu 24.04), and a second binary with onlydb_sync.cppreverted to develop as a control. No 56-CU gfx1201 was available, so the CU count was emulated with the rocjitsu KMD interposer (same runner config asrun_dbsync_rocjitsu.py,cu_correct_configto 56, 48 and 64 CU).StaticFDBSync/11must skip.StaticFDBSync/11must still run the whole database check.--gtest_filter='*StaticFDBSync*': only/11runs, the other 11 params skip.Test Result
*StaticFDBSync*at 56 CU all 12 params skip. The message printed is:Skipping gfx1201 param 32: this device reports 28 compute units and selects the system db for 28, which differs from this param.Db file does not exist ".../gfx120138.HIP.fdb.txt"and[ FAILED ] Smoke/CPU_DBSync_NONE.StaticFDBSync/11, where GetParam() = ("gfx1201", 0). This is the failure from the issue.Handle CU count: 32 Parameter Value: 32, readsgfx120140.HIP.fdb.txt,[ OK ] Smoke/CPU_DBSync_NONE.StaticFDBSync/11 (552657 ms), 1 test passed.Handle CU count: 32 Parameter Value: 32, readsgfx120140.HIP.fdb.txt,[ OK ] StaticFDBSync/11 (11882 ms), 1 passed and 11 skipped.Not run: a real 56-CU gfx1201 (the skip at 56 CU is shown with an emulated CU count), Windows, and the Jenkins or TheRock CI jobs.
Submission Checklist