Skip to content

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

Choose a tag to compare

@lvhao7896 lvhao7896 released this 10 Sep 12:54
· 141 commits to main since this release

基于 main,HEAD 2c107e9。按 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 功能)。本轮新增 solution 树 16 个算子(11 PASS / 5 FAIL)。

环境版本

组件 分支/版本 Commit
SuperNPUBench main 2c107e9
gfrun / SuperScalarModel-asl codex/gfrun-pto-0586-asl e7d883c9
llvm-project dev-llvm15_56 553b08045
Linx-TileOP-API linx b8669ce

编译器按 AGENTS.md 用主 linx-toolchain-build worktree(clang 15.0.4,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 超时。PASS = rc 0 + Reach the End of Benchmark + R2 = 0。

范围 ELF 数 PASS FAIL TIMEOUT 通过率
microbenchmark 439 401 38 0 91.3%
one-level-arch 111 72 39 0 64.9%
solution 16 11 5 0 68.8%
合计 566 484 82 0 85.5%

关键变更(vs ops-20260908)

git log --oneline ops-20260908..HEAD:2c107e9 fa: add fa_2d_unroll_gmma_subview, fix TMATMUL_ACC kGroupM, refresh 09-10 regression + 5905c42 Merge PR #122 (quant batch matmul mxfp4/hif4) + 1c110c0 update fa subview + a689b36 DTS matmul_hif4/mxfp4 description + e68a730 eval long-context FA k-chain swimlane + 68cd40c microbench align coverage PTO 0.58.6

  • gfrun 切换 asl worktree:fix/issue-558-fp4-rne-zero(07e9c661) → codex/gfrun-pto-0586-asl(e7d883c9),PTO v0.58.5→v0.58.6。强制 2048B 行归约 source 限制 → fa_2d_unroll_gmma/fa_fixpipe 24 FAIL(main gfrun 不强制);vector compare/select +20 FAIL;reduction/broadcast/transpose +7 FAIL。
  • multi_thread/fa 编译扩展:compile.all 移除 set -e → 5→36 ELF。fa_subview 12/12 PASS;fa_2d_unroll_gmma + fa_fixpipe 24 FAIL(2048B 行归约限制)。
  • fa_2d_unroll_gmma_subview 新算子:融合 fa_2d_unroll_gmma v2 + fa_subview TPARTVIEW 分块行归约。gfrun PASS,gfsim 不支持 B.SUBVIEW 无法获取时序数据。
  • TMATMUL_ACC kGroupM 修复:fa_2d_unroll_gmma.hpp/fa_fixpipe.hpp 补回 kGroupM 参数(协作 TMATMUL 断言修复)。
  • fa_subview transpose 修正:tileKMatrix/gIterK/qkOptions/pvOptions 对齐本地版本。
  • HIF4/HIF8 排除:用户指定排除 matmul/fa HIF4/HIF8 变体(需 assemble 功能)。消除 09-08 的 5 个 HIF4 FAIL。
  • gfsim 时序数据:fa_2d_unroll_gmma Sq128/Skv8192 — FP32_VECFP32 138,431 cycles,BF16_VECFP32 78,706 cycles。
  • solution 树新增:16 个 solution 算子用 asl gfrun 验证,11 PASS 入包。含 gather_v2 ×3、group_token_old_mt、moe_combine ×2、moe_dispatch ×2、view_copy ×3。

文件一:supernpubench_microbenchmark_20260910.tar.gz

算子族 ELF PASS FAIL 入包
scalar 124 124 0 124
memory 27 27 0 27
cube 11 11 0 11
fixp 107 89 18 89
vector 170 150 20 150
合计 439 401 38 401

FAIL 原因:fixp 18 例 MX scale dataType 断言(HIF4,09-08 起不变);vector 20 例 compare/select TSTORE 断言(asl gfrun 行为差异)。

文件二:supernpubench_one-level_20260910.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
其他(全过) 9 9 0 9
solution 16 11 5 11
合计 127 83 44 83

FAIL 原因:multi_thread/fa 24 例 validCol != 0 TSTORE 断言(asl gfrun 强制 2048B 行归约 source 限制,fa_2d_unroll_gmma + fa_fixpipe,main gfrun 全 PASS);control 6 例 INT8/16 dtype 元组未定义(历史);reduction/broadcast/transpose 9 例 asl gfrun 行为差异;solution 4 例 gfrun 超时(group_token_old、group_token_vec、mega_moe ×2,疑似无限循环)、1 例 ASSERTION FAILED validCol(dynamic_mx_quant 2048B 限制)。

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

solution 树未入包(5 FAIL)

算子 原因
group_token_old (single) gfrun 超时(无限循环,1.1 GB 输出)
group_token_vec gfrun 超时(无限循环,1.1 GB 输出)
mega_moe_sim BS16_H32_HD64 gfrun 超时(无限循环,1.1 GB 输出)
mega_moe_sim_mt BS16_H32_HD64 gfrun 超时(无限循环,876 MB 输出)
dynamic_mx_quant tail_ocp_fp8 ASSERTION FAILED: validCol != 0(2048B ISA 限制)

说明

  • gfrun 用 SuperScalarModel-asl worktree(非 main gfrun),PTO v0.58.6。asl gfrun 强制 PTO v0.58 行归约 source ≤2048 字节限制,fa_2d_unroll_gmma/fa_fixpipe 未做 TPARTVIEW 分块的变体全部 FAIL。main gfrun 不强制此限制,这些变体在 09-08 基线下全 PASS。
  • tarballs 仅含 gfrun-PASS ELF + .elf.diss。FAIL/TIMEOUT ELF 不入包。
  • 排除 matmul/fa HIF4/HIF8 变体(需 assemble 功能)。
  • 5 例 tail 截断假 FAIL(matmul A16W4 ×3 + concat half ×2)已手工复跑修正为 PASS,入包。
  • fa_2d_unroll_gmma_subview 新算子 gfrun PASS 但 gfsim 不支持 B.SUBVIEW 指令,无法获取时序数据。
  • solution 树 4 例 gfrun 超时疑似算子内部无限循环(非 gfrun 限制),1 例 ASSERTION FAILED 同 2048B ISA 限制。