Repository navigation
PTO ISA operators binaries (per-suite, gfrun-pass) 20260911
基于 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-APIb8669ce→e93ef98(reinterpret_tile 文档 + 回归 fixture)。clang hash0a141cbd22ab3e1fd3ec2043b091f96b9377605f。 - 全量重编译: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 |
已知限制
- TROWMAX 2048B:PTO v0.58.6 行归约要求 source tile ≤2048 bytes;asl gfrun 强制此限制导致 mt-fa 24 FAIL(main gfrun 不强制)。
- HIF4/HIF8:需 assemble 功能,本次排除 15 个 ELF。
- MX scale tensor:fixp 16 个 MX 类型 matmul 因 gfrun 不支持 scale tensor 断言 FAIL。
- solution 死循环:group_token_old(单线程)、group_token_vec、mega_moe ×2 输出 >500MB 疑似无限循环;matmul_test ×3 新增算子同现象。