Skip to content

PTO ISA operators binaries (per-suite, gfrun-pass) 20260911

Choose a tag to compare

@lvhao7896 lvhao7896 released this 11 Sep 08:11
· 137 commits to main since this release

基于 main,HEAD 1d9f1f8。按 suite 拆 2 小包,仅含 gfrun-PASS ELF + .elf.diss。本轮 gfrun 用 SuperScalarModel-asl worktree(codex/gfrun-pto-0586-asl e7d883c9,PTO v0.58.6)。排除 matmul/fa HIF4/HIF8(需 assemble 功能,15 ELF)。编译器更新后全量重编译 584 个 ELF,fixp +2 PASS(编译器修复)。A16W4 matmul ×3 全部独立验证 PASS。新增 solution matmul_test ×3。

环境版本

组件 分支/版本 Commit
SuperNPUBench main 1d9f1f8
gfrun / SuperScalarModel-asl codex/gfrun-pto-0586-asl e7d883c9
llvm-project dev-llvm15_56 0a141cbd2
Linx-TileOP-API linx e93ef98
linx-toolchain-build main e6a31ef

编译器按 AGENTS.md 用主 linx-toolchain-build worktree(clang 15.0.4,clang hash 0a141cbd22ab3e1fd3ec2043b091f96b9377605f,target linx64v5-unknown-linux-musl,PTO v0.58.6)。gfrun 用 asl worktree(PTO v0.58.6 tile contracts + CUBE reduction subview 修复)。执行:gfrun -t 1 -f <elf>,multi_thread 加 -s softcore.multiThreadNum=4,单 ELF 300s 超时 + 500MB 输出截断。大输出算子(cube/scalar/topk/concat/A16W4 matmul/group_token_old_mt)逐一独立验证(无输出截断,600s–3600s 超时)。PASS = rc 0 + Reach the End of Benchmark + R2 = 0。

范围 ELF 数 PASS FAIL TIMEOUT 通过率
microbenchmark 439 403 36 0 91.8%
one-level-arch 112 73 39 0 65.2%
solution 18 11 7 0 61.1%
合计 569 487 82 0 85.6%

关键变更(vs ops-20260910)

git log --oneline ops-20260910..HEAD:1d9f1f8 Add FA GMMA TLSU L2 performance traces + 03b0bf8 Add FA and matmul performance spreadsheets。

  • 编译器更新:llvm-project 553b08045 → 0a141cbd2(B.DATR CCTRL union disambiguation, PTO-ISA #236);Linx-TileOP-API b8669ce → e93ef98(reinterpret_tile 文档 + 回归 fixture)。clang hash 0a141cbd22ab3e1fd3ec2043b091f96b9377605f。
  • 全量重编译:584 个 ELF 全部用新编译器重新编译(439 micro + 127 kernel + 18 solution)。
  • fixp +2 PASS:MX scale dataType 断言 FAIL 从 18→16(编译器修复 2 个 fixp 算子)。
  • 新增 solution matmul_test ×3:B1_M200_N96_K128_tM16_tN16_tK16、B1_M256_N256_K256_tM16_tN16_tK16、B1_M512_N256_K512_tM32_tN32_tK32。3 个均 gfrun 输出 >500MB(疑似大输出或死循环)。
  • dynamic_mx_quant 未编译:09-10 为 FAIL(ASSERTION FAILED validCol),09-11 编译失败(compile FAIL),排除出包。
  • A16W4 matmul ×3 全部 PASS:500MB 输出截断导致初始 FAIL/TIMEOUT。独立验证全部 PASS(输出 1.07–1.36GB,同 09-10)。
  • group_token_old_mt 验证 PASS:500MB 输出截断导致初始 FAIL。独立验证 PASS(662MB 输出,23s 完成)。

文件一:supernpubench_microbenchmark_20260911.tar.gz

算子族 ELF PASS FAIL 入包
scalar 124 124 0 124
memory 27 27 0 27
cube 11 11 0 11
fixp 107 91 16 91
vector 170 150 20 150
合计 439 403 36 403

FAIL 原因:fixp 16 例 MX scale dataType 断言(09-10 起 18→16,编译器修复 2 个);vector 20 例 compare/select TSTORE 断言(asl gfrun 行为差异,与 09-10 相同)。

文件二:supernpubench_one-level_20260911.tar.gz

算子族 ELF PASS FAIL 入包
fa 12 12 0 12
matmul 12 12 0 12
multi_thread/fa 36 12 24 12
multi_thread/matmul 10 10 0 10
multi_thread/(其他) 8 6 2 6
broadcast 6 3 3 3
concat 4 4 0 4
control 6 0 6 0
reduction 6 3 3 3
flashMLA 2 2 0 2
其他(全过) 10 10 0 10
solution 18 11 7 11
合计 130 84 46 84

FAIL 原因:multi_thread/fa 24 例 validCol != 0 TSTORE 断言(asl gfrun 强制 2048B 行归约 source 限制,fa_2d_unroll_gmma + fa_fixpipe,main gfrun 全 PASS);control 6 例 MGATHER operand 非法(历史);reduction/broadcast/transpose 9 例 asl gfrun 行为差异(reserved/deleted tile selector、validCol 断言、TROWSUM operand);solution 7 例输出 >500MB(matmul_test ×3 疑似大输出/死循环,mega_moe ×2/group_token_old/group_token_vec 疑似死循环)。

solution 树入包算子(11 PASS)

算子 ELF 名 multi_thread
gather_v2 gather_v2_half_RANK2_DIM0
gather_v2 gather_v2_float_RANK1_DIM0
gather_v2 gather_v2_int32_RANK2_DIM1
group_token_old group_token_old_mt ✓
moe_combine moe_combine_mt ✓
moe_combine moe_combine_v2
moe_dispatch moe_dispatch_mt ✓
moe_dispatch moe_dispatch_v2
view_copy view_copy_half_SHAPE4_4_6
view_copy view_copy_half_SHAPE4_4_8
view_copy view_copy_int32_SHAPE2_4_8

已知限制

  1. TROWMAX 2048B:PTO v0.58.6 行归约要求 source tile ≤2048 bytes;asl gfrun 强制此限制导致 mt-fa 24 FAIL(main gfrun 不强制)。
  2. HIF4/HIF8:需 assemble 功能,本次排除 15 个 ELF。
  3. MX scale tensor:fixp 16 个 MX 类型 matmul 因 gfrun 不支持 scale tensor 断言 FAIL。
  4. solution 死循环:group_token_old(单线程)、group_token_vec、mega_moe ×2 输出 >500MB 疑似无限循环;matmul_test ×3 新增算子同现象。