Skip to content

refactor(hipblaslt): convert gfx950 BBS library logic to dict format - #10408

Open
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_HHSfrom
users/dsaffars/Lib_conv_gfx950_BBS
Open

refactor(hipblaslt): convert gfx950 BBS library logic to dict format#10408
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_HHSfrom
users/dsaffars/Lib_conv_gfx950_BBS

Conversation

@dsaffars

@dsaffars dsaffars commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

JIRA ID: AIHPBLAS-4216

Convert 32 gfx950 BBS 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 BBS 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 32 gfx950 BBS library logic YAML files under:
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950/Equality/
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950/GridBased/
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/
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950/Range/
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950_id75a3/Equality/
projects/hipblaslt/library/src/amd_detail/rocblaslt/src/Tensile/Logic/asm_full/gfx950/gfx950_id75a8/Equality/
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 32 32
Total lines 3,308,590 2,076,535

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

Test Plan

For each of the 32 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 32/32 BBS 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 32 BBS logic files (Equality, GridBased, Origami, Origami/Origami_nta4, Origami/Origami_ntb4, Range, gfx950_id75a3/Equality, gfx950_id75a8/Equality).
Line count: Total YAML size reduced from 3,308,590 to 2,076,535 lines (~37% reduction) with no intended change to kernel selection behavior.

Convert 32 gfx950 BBS library logic YAML files from list
to dict format.

# Batch: BBS
# Per-file lines (before -> after):
  gfx950/Equality/gfx950_Cijk_Ailk_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 164549 -> 99965
  gfx950/Equality/gfx950_Cijk_Ailk_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 226679 -> 136389
  gfx950/Equality/gfx950_Cijk_Alik_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 103606 -> 63080
  gfx950/Equality/gfx950_Cijk_Alik_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 680867 -> 409129
  gfx950/Equality/gfx950_Cijk_Alik_Bljk_BBS_BH_UserArgs.yaml: 770 -> 739
  gfx950/GridBased/gfx950_Cijk_Ailk_Bjlk_BBS_BH_Bias_AuxB_HA_S_SAV_UserArgs.yaml: 541 -> 561
  gfx950/GridBased/gfx950_Cijk_Ailk_Bjlk_BBS_BH_Bias_BiasSrcB_SAV_UserArgs.yaml: 1208 -> 1050
  gfx950/GridBased/gfx950_Cijk_Ailk_Bljk_BBS_BH_Bias_AuxB_HA_S_SAV_UserArgs.yaml: 543 -> 562
  gfx950/GridBased/gfx950_Cijk_Ailk_Bljk_BBS_BH_Bias_BiasSrcD_GradB_AS_SAV_UserArgs.yaml: 828 -> 770
  gfx950/GridBased/gfx950_Cijk_Alik_Bjlk_BBS_BH_Bias_AuxB_HA_S_SAV_UserArgs.yaml: 318 -> 414
  gfx950/GridBased/gfx950_Cijk_Alik_Bljk_BBS_BH_Bias_AuxB_HAS_SAV.yaml: 641 -> 642
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 51157 -> 36505
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 58789 -> 41878
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 46890 -> 33476
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 80702 -> 56227
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 51157 -> 36505
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 58789 -> 41878
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 46890 -> 33476
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 80702 -> 56227
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 51157 -> 36298
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 58537 -> 41461
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 46890 -> 33268
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 80698 -> 55906
  gfx950/Range/gfx950_Cijk_Ailk_Bjlk_BBS_BH_Bias_HAS_SAV_UserArgs.yaml: 551 -> 600
  gfx950/Range/gfx950_Cijk_Ailk_Bljk_BBS_BH_Bias_HAS_SAV_UserArgs.yaml: 551 -> 595
  gfx950/Range/gfx950_Cijk_Alik_Bljk_BBS_BH_Bias_HAS_SAV_UserArgs.yaml: 552 -> 598
  gfx950_id75a3/Equality/gfx950_Cijk_Ailk_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 159738 -> 95688
  gfx950_id75a3/Equality/gfx950_Cijk_Ailk_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 220033 -> 130938
  gfx950_id75a3/Equality/gfx950_Cijk_Alik_Bjlk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 84584 -> 59502
  gfx950_id75a3/Equality/gfx950_Cijk_Alik_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 830987 -> 496700
  gfx950_id75a3/Equality/gfx950_Cijk_Alik_Bljk_BBS_BH_UserArgs.yaml: 770 -> 739
  gfx950_id75a8/Equality/gfx950_Cijk_Alik_Bljk_BBS_BH_BiasSB_HAS_SAV_UserArgs.yaml: 117916 -> 74769
Total: 3308590 -> 2076535 lines across 32 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