Skip to content

refactor(hipblaslt): convert gfx950 HH library logic to dict format - #10391

Open
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_F4from
users/dsaffars/Lib_conv_gfx950_HH
Open

refactor(hipblaslt): convert gfx950 HH library logic to dict format#10391
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_F4from
users/dsaffars/Lib_conv_gfx950_HH

Conversation

@dsaffars

@dsaffars dsaffars commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

JIRA ID: AIHPBLAS-4216

Convert 72 gfx950 HH library logic YAML files from list to dict format.

Motivation

TensileLite is migrating gfx950 library logic YAML from the legacy list format to the canonical dict format. The dict format uses explicit root keys (ArchitectureName, CUCount, ProblemType, Solutions, etc.) and is the format TensileCreateLibrary now emits by default.
The HH datatype family continues the stacked gfx950 library logic conversion. Migrating these files improves maintainability, aligns shipped logic with the current serialization contract, and reduces YAML size without changing kernel selection behavior.

Technical Details

This PR converts 72 gfx950 HH library logic YAML files under:
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950/Origami/
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950/Origami/Origami_nta4/
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950/Origami/Origami_ntb4/
Format changes (no semantic changes intended):

  • Root metadata moves from positional list entries to named keys (MinimumRequiredVersion, ScheduleName, ArchitectureName, CUCount, DeviceNames, ProblemType, …).
  • ProblemType fields are nested under a ProblemType: mapping instead of inline list items.
  • Solution entries move from list-of-flow-mappings to a Solutions: dict keyed by solution name.
  • Boolean literals are normalized (True/Falsetrue/false).
    Scope summary:
Metric Before After
Files 72 72
Total lines 1,903,272 1,363,362

This PR is YAML-only; no runtime, generator, or test-code changes. It builds on users/dsaffars/Lib_conv_gfx950_F4 in the stacked PR series.

Test Plan

For each of the 72 converted files, pre-conversion list-format YAML is compared against the new dict-format YAML using a script (same parser path as TensileCreateLibrary):

Test Result

For all 72/72 HH files parsed solutions, problem types, and matching tables are semantically identical between list and dict formats.
File integrity: No files added or removed; only format conversion within the existing 72 HH logic files (Origami, Origami/Origami_nta4, Origami/Origami_ntb4).
Line count: Total YAML size reduced from 1,903,272 to 1,363,362 lines (~28% reduction) with no intended change to kernel selection behavior.

Convert 72 gfx950 HH library logic YAML files from list
to dict format.

# Batch: HH
# Per-file lines (before -> after):
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 40854 -> 29422
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3932
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3932
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3932
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44214 -> 31726
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44215 -> 31530
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44215 -> 31530
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10145
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10145
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10145
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44662 -> 32040
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44663 -> 31842
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44663 -> 31842
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3773
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3773
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3773
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 48470 -> 34655
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6632
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6632
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6632
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 40854 -> 29422
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3932
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3932
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3932
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44214 -> 31726
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44215 -> 31530
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44215 -> 31530
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10145
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10145
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10145
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44662 -> 32040
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44663 -> 31842
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44663 -> 31842
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3773
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3773
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3773
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 48470 -> 34655
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6632
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6632
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6632
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 40854 -> 29240
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 40855 -> 29059
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 40855 -> 29059
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3909
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3909
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5238 -> 3909
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44214 -> 31529
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44215 -> 31333
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44215 -> 31333
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10083
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10083
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 13974 -> 10083
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44662 -> 31841
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44663 -> 31643
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44663 -> 31643
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3751
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3751
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 5014 -> 3751
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_HF8_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 48470 -> 34439
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_HF8_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 48471 -> 34224
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_HF8_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 48471 -> 34224
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_HH_B8F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6592
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_HH_F8B8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6592
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_HH_F8HS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 9046 -> 6592
Total: 1903272 -> 1363362 lines across 72 files.
@therock-pr-bot

therock-pr-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass
Forbidden Files ✅ Pass
🧪 Unit Test ✅ Pass PR does not contain code files — Unit Test auto-passed
🚫 Draft PR 🔜 To Be Enabled
🚩 Feature Flag 🔜 To Be Enabled
📊 Code Coverage 🔜 To Be Enabled

🎉 All policy checks passed!

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

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.

1 participant