Repository navigation
SuperNPUBench ops-20261013
基于 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-buildcheckout)。 - 相对 ops-20261012:工具链(llvm / TileOP-API / pto-spec / linx-toolchain-build checkout)四项全部未变。
关键变更(vs ops-20261012)
3 个提交,全部集中在 rms_norm 与 topk:
4c66c2abperf(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。7bc2d7b7fix(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。