Skip to content

fix: stabilize tassemble f32->f16 path and add A3 board validation#263

Open
TaoTao-real wants to merge 3 commits intozhangstevenunity:mainfrom
TaoTao-real:codex/tassemble-tinsert
Open

fix: stabilize tassemble f32->f16 path and add A3 board validation#263
TaoTao-real wants to merge 3 commits intozhangstevenunity:mainfrom
TaoTao-real:codex/tassemble-tinsert

Conversation

@TaoTao-real
Copy link
Contributor

Summary

  • Relax pto.tassemble verifier to allow src=f32 -> dst=f16/bf16 for A3 TINSERT cast-quant path.
  • Rework test/samples/Assemble/assemble.py to generate an A3-legal TINSERT flow and keep emitted-pattern regression.
  • Refresh test/samples/Assemble/board_validation harness/files and fix local address overlap in generated kernel test artifact.
  • Extend board run script behavior (golden mode/device selection) for stable board execution.

Motivation

  • tassemble lowering targets TINSERT(dst_mat, src_acc, ...) on A3.
  • PTO-ISA constraints require ACC(f32) -> MAT(f16/bf16) cast-quant form in this path.
  • Existing strict same-dtype verifier and board harness blocked real board validation.

Design

  • TAssembleOp::verify() now accepts either:
    • same element type, or
    • src=f32 with dst=f16/bf16.
  • Assemble sample builds a valid pipeline around tassemble and checks emitted C++ patterns.
  • Board validation case is aligned with current generated kernel signatures and compares golden_v4.bin vs v4.bin.

Testing

  • Local targeted:
    • test/samples/runop.sh -t Assemble (pass)
  • Local full sample regression:
    • test/samples/runop.sh all (OK=169 FAIL=0 SKIP=1)
  • A3 board:
    • GOLDEN_MODE=npu ACL_DEVICE_ID=2 .../run_a3_board_case.sh test/samples/Assemble/board_validation
    • Passed run artifacts:
      • /home/zhongxuan/ptoas_board_runs/board_validation_20260314_215720

Risk / Rollback

  • Risk is limited to tassemble dtype verification and the new Assemble sample/board harness.
  • Rollback by reverting this PR; no global pass defaults were changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant