Skip to content

refactor(hipblaslt): convert gfx950 F8H library logic to dict format - #10395

Open
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_Sfrom
users/dsaffars/Lib_conv_gfx950_F8H
Open

refactor(hipblaslt): convert gfx950 F8H library logic to dict format#10395
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_Sfrom
users/dsaffars/Lib_conv_gfx950_F8H

Conversation

@dsaffars

@dsaffars dsaffars commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

JIRA ID: AIHPBLAS-4216

Convert 36 gfx950 F8H 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 F8H 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 36 gfx950 F8H 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 36 36
Total lines 1,603,824 1,143,474

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

Test Plan

For each of the 36 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 36/36 F8H 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 36 F8H logic files (Origami, Origami/Origami_nta4, Origami/Origami_ntb4).
Line count: Total YAML size reduced from 1,603,824 to 1,143,474 lines (~29% reduction) with no intended change to kernel selection behavior.

Convert 36 gfx950 F8H library logic YAML files from list
to dict format.

# Batch: F8H
# Per-file lines (before -> after):
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 40854 -> 29422
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44662 -> 32044
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44663 -> 31846
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44663 -> 31846
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44214 -> 31723
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44215 -> 31527
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44215 -> 31527
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 48470 -> 34655
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 40854 -> 29422
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 40855 -> 29241
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44662 -> 32044
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44663 -> 31846
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44663 -> 31846
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44214 -> 31723
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44215 -> 31527
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44215 -> 31527
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 48470 -> 34655
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 48471 -> 34440
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 40854 -> 29240
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 40855 -> 29059
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 40855 -> 29059
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44662 -> 31845
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44663 -> 31647
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44663 -> 31647
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 44214 -> 31526
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 44215 -> 31330
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 44215 -> 31330
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_F8H_HF8S_BH_BiasSH_HAS_SAB_SCD_SAV_UserArgs.yaml: 48470 -> 34439
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_F8H_HHS_BH_BiasSH_HAS_SAV_UserArgs.yaml: 48471 -> 34224
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_F8H_HSS_BH_BiasS_HAS_SAV_UserArgs.yaml: 48471 -> 34224
Total: 1603824 -> 1143474 lines across 36 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