Skip to content

SuperNPUBench ops-20261013

Choose a tag to compare

@lvhao7896 lvhao7896 released this 12 Oct 16:51
4c66c2a

基于 main,HEAD 4c66c2ab。按 suite 拆 2 小包,包含全部编译产出 ELF(不设 gfrun 门禁)。

构建源说明:本版严格基于 origin/main(4c66c2ab)在干净的临时 worktree 中编译,不含任何本地未提交改动。工具链与 ops-20261012 完全相同,因此本版与上一版的产出差异全部来自代码。

验证环境

组件 分支/版本 Commit
PTO ISA 规范 / pto-spec v0.58.7.0-9-gee64ee4fc ee64ee4fc
llvm-project linx64v5-musl-local 3e55e80be
Linx-TileOP-API linxisa-v0.58.0-250-gbda0d32 bda0d32
linx-toolchain-build main e6a31ef
SuperNPUBench origin/main 4c66c2ab
  • 编译器:clang 15.0.4,target linx64v5-unknown-linux-musl(硬性使用主 linx-toolchain-build checkout)。
  • 相对 ops-20261012:工具链(llvm / TileOP-API / pto-spec / linx-toolchain-build checkout)四项全部未变。

关键变更(vs ops-20261012)

3 个提交,全部集中在 rms_norm 与 topk:

  • 4c66c2ab perf(normalization): reduce R=8192 rms_norm in 16 KiB tiles (#223) — 改 kernels/solution/normalization/rms_norm/rms_norm_dynamic_tree_32k.hpp 与其 testcase,R=8192 路由到 16 KiB tile。
  • 7bc2d7b7 fix(topk): make gfsim RES_CHECK file I/O lockstep-safe / 860ddaf9 其 PR #225 合入 — 改 test/kernel/multi_thread/topk_tiled(driver、Makefile、compile.all、校验脚本)。该 suite 不在 compile_all 矩阵内,因此不影响本版产出。
  • fa / matmul / micro 等其它目录在本窗口内无任何改动。

产出对比(vs ops-20261012)

对两版 tarball 逐文件做 md5 比对:

  • ELF 清单完全一致(micro 430 + one-level 371 = 801,名称逐项相同);
  • 其中 799 个 ELF 字节级完全相同,仅 2 个内容变化,即 #223 直接修改的:
    solution_normalization_rms_norm_rms_norm_dynamic_tree_32k_DType__half_gA128_gR8192_PE4.elf、
    ..._gA32_gR16384_PE4.elf。

编译失败集合与上一版逐例一致(见下表)。

回归状态

本 release 不含 gfrun 复测(按 2026-09-19 后的发布策略)。

发布物

文件 内容 ELF 数
supernpubench_microbenchmark_20261013.tar.gz microbenchmark 全部编译 ELF + .elf.diss 430
supernpubench_one-level_20261013.tar.gz one-level-arch 全部编译 ELF + .elf.diss(kernel 327 + solution 44) 371
合计 801

算子编译状态

microbenchmark(430 ELF / 24 编译失败)

算子 编译 ELF 编译失败 状态 说明
micro/scalar 124 0 全部编译成功
micro/vector 170 0 全部编译成功
micro/fixp 102 20 部分失败 122 例活跃变体,20 例失败清单与 ops-20261012 逐例一致:MX 族(mx / mxbias / mxacc / mx_scale_a / gemv_mx* / mx_s8*)、f16_groupmax / s8_rowmax / shared_rowmax_init / shared_rowgroup_maxabs / shared_f16_groupmax / shared_s8_rowmax;均为 TileOP 契约断言
micro/memory 26 1 部分失败 mgather_cas_fp32_16x16(MGATHER_CAS 传输宽度,已有)
micro/cube 8 3 部分失败 3 例 tmatmul_bias_*(Bias CUBE_M 布局,已有)

one-level-arch / kernel(327 ELF / 46 编译失败)

算子 编译 ELF 编译失败 状态 说明
kernel/matmul 257 19 部分失败 与上一版同口径:matmul_lowp 11 例 256 KiB 容量断言(matmul_shared_lowp.hpp:109)、matmul_shared 7 例超限 static_assert、matmul_hif4_l1_quantize 1 例(TileOP TCVT 的 SrcDerivedRows == DstDerivedRows 契约)
kernel/fa 59 19 部分失败 与上一版完全一致:15 例矩阵模式契约类(fa_2d_unroll_gmma 3 / fa_fixpipe 9 / fa_gmma_kchains 3),4 例 fa_lowp / fa_mxfp4_opt / fa_lowp_recip×2 仍为 TileOP TROWMAX reduction-prefix 路径的 no member named 'PhysicalCol'(TileOP-API bda0d32 下未变)
kernel/reduction 4 0 全部编译成功 cumsum_row / reducemax_row / reduceprod_row / reducesum_row
kernel/concat 2 0 全部编译成功
kernel/{broadcast,conv2d,element_wise,gather,vec} 5 0 全部编译成功
kernel/transpose 0 1 未编译产出 TTRANS 已退役(PTO-ISA 0.58.5)
kernel/multi_thread(含 topk_tiled) 0 — 未编译 本版有代码更新(#225),但不在 compile_all 矩阵内
kernel/{mxquant,hashtable_lookup,broadcast_vec} 0 — 未编译 不在 compile_all 矩阵内

one-level-arch / solution(44 ELF / 1 编译失败)

算子 编译 ELF 编译失败 状态 说明
solution/normalization/rms_norm 4 0 全部编译成功 dynamic_simt_32k ×2、dynamic_tree_32k ×2;后者含 #223 的 16 KiB tile 改动(本版唯一内容变化的 ELF)
solution/normalization/group_norm_grad 4 0 全部编译成功 static/dynamic × {1d, 2d}
solution/matmul_test 3 0 全部编译成功 仅 4-PE(Local-A / Shared-B)
solution/{moe_dispatch,moe_combine,mega_moe} 9 0 全部编译成功 各 3 个
solution/quant_sparse_flash_mla 5 0 全部编译成功
solution/qli 4 0 全部编译成功
solution/group_token_vec 3 0 全部编译成功
solution/view_copy 3 0 全部编译成功
solution/gather_v2 3 0 全部编译成功
solution/group_token_old 2 0 全部编译成功
solution/conv2d 2 0 全部编译成功
solution/quant_batch_matmul_test 2 1 部分失败 mxfp4 单 PE 变体(Local MX ScaleA must use CUBE_M32 layout)
solution/quant/dynamic_mx_quant 0 — 未编译 未进入 compile_all 矩阵
solution/normalization/rms_norm_split_r 0 — 归档未编译 已移入 normalization/rms_norm/V0/
solution/{common,tileop-test} 0 — 未编译 基础设施(共享校验脚本 / TileOP 测试)

说明

  • 每个 ELF 附带配对 .elf.diss(micro 430/430、one-level 371/371 校验通过)。
  • excluded file types:.o / .d / .lds / .cache / logs;cw 默认不编译不入包;two-level 不支持。
  • 本版是"仅内容更新版":产出清单与 ops-20261012 相同,只有 2 个 rms_norm_dynamic_tree_32k ELF 因 #223 变化;需要 10-13 之前产物的使用者可直接沿用 ops-20261012。