Skip to content

refactor(hipblaslt): convert gfx950 F8BS library logic to dict format - #10396

Open
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_F8Hfrom
users/dsaffars/Lib_conv_gfx950_F8BS
Open

refactor(hipblaslt): convert gfx950 F8BS library logic to dict format#10396
dsaffars wants to merge 1 commit into
users/dsaffars/Lib_conv_gfx950_F8Hfrom
users/dsaffars/Lib_conv_gfx950_F8BS

Conversation

@dsaffars

@dsaffars dsaffars commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

JIRA ID: AIHPBLAS-4216

Convert 27 gfx950 F8BS 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 F8BS 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 27 gfx950 F8BS 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/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_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 | 27 | 27 |
    | Total lines | 1,571,831 | 1,027,746 |
    This PR is YAML-only; no runtime, generator, or test-code changes. It builds on users/dsaffars/Lib_conv_gfx950_F8H in the stacked PR series.

Test Plan

For each of the 27 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 27/27 F8BS 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 27 F8BS logic files (Equality, Origami, Origami/Origami_nta4, Origami/Origami_ntb4, gfx950_id75a3/Equality, gfx950_id75a8/Equality).
Line count: Total YAML size reduced from 1,571,831 to 1,027,746 lines (~35% reduction) with no intended change to kernel selection behavior.

Convert 27 gfx950 F8BS library logic YAML files from list
to dict format.

# Batch: F8BS
# Per-file lines (before -> after):
  gfx950/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SABV_SAV_UserArgs.yaml: 74416 -> 53107
  gfx950/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 292825 -> 176480
  gfx950/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_SAB_UserArgs.yaml: 1294 -> 1136
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 11112 -> 8123
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Ailk_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19887 -> 14362
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19887 -> 14357
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SABV_SAV_UserArgs.yaml: 29335 -> 21021
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 47746 -> 34027
  gfx950/Origami/Origami_nta4/gfx950_Cijk_Alik_Bljk_F8BS_MXAE8B32_MXBE8B32_BH_Bias_HA_S_SAB_SAV_UserArgs.yaml: 20936 -> 14812
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 11112 -> 8123
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Ailk_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19887 -> 14362
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19887 -> 14357
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SABV_SAV_UserArgs.yaml: 29335 -> 21021
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 47746 -> 34027
  gfx950/Origami/Origami_ntb4/gfx950_Cijk_Alik_Bljk_F8BS_MXAE8B32_MXBE8B32_BH_Bias_HA_S_SAB_SAV_UserArgs.yaml: 20936 -> 14812
  gfx950/Origami/gfx950_Cijk_Ailk_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 11112 -> 8074
  gfx950/Origami/gfx950_Cijk_Ailk_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19887 -> 14274
  gfx950/Origami/gfx950_Cijk_Alik_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19887 -> 14269
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SABV_SAV_UserArgs.yaml: 29335 -> 20891
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 47746 -> 33835
  gfx950/Origami/gfx950_Cijk_Alik_Bljk_F8BS_MXAE8B32_MXBE8B32_BH_Bias_HA_S_SAB_SAV_UserArgs.yaml: 20936 -> 14756
  gfx950_id75a3/Equality/gfx950_Cijk_Ailk_Bjlk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19176 -> 12944
  gfx950_id75a3/Equality/gfx950_Cijk_Ailk_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 19133 -> 12856
  gfx950_id75a3/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SABV_SAV_UserArgs.yaml: 74416 -> 53107
  gfx950_id75a3/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 620682 -> 381514
  gfx950_id75a3/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_SAB_UserArgs.yaml: 1294 -> 1136
  gfx950_id75a8/Equality/gfx950_Cijk_Alik_Bljk_F8BS_BH_BiasSB_HAS_SAB_SAV_UserArgs.yaml: 21886 -> 15963
Total: 1571831 -> 1027746 lines across 27 files.
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