Repository navigation
SuperNPUBench ops-20261021(主 checkout 工具链刷新版)
基于 main,HEAD 5afe2151。按 suite 拆 2 小包,包含全部编译产出 ELF(不设 gfrun 门禁)。
本版性质:工具链刷新重编版。上游代码与
ops-20261020完全相同(同一 commit5afe2151),差异全部来自工具链更新:
TileOP-API 由315f397回到8f43777("Restore linx to PTO 0.58.7 stable baseline" #287),主linx-toolchain-buildcheckout 的工具链头文件于 2026-10-21 12:38 重新安装。
⚠️ 编译器说明:本版用的是主linx-toolchain-buildcheckout(AGENTS.md 规定)的编译器。它与同日早间发布的ops-20261021-newcc不是同一套编译器(那版用的是已删除的linx-toolchain-build-latestworktree:llvm-project084bbc311+ TileOP-API0150baa)。构建源说明:严格基于
origin/main(5afe2151)在干净的临时 worktree 中编译,不含任何本地未提交改动。
验证环境
标注规范:每个组件的远端分支名 + commit id;均已用 git ls-remote origin refs/heads/<branch> 核验本地 checkout 就是该远端分支的最新提交。
| 组件 | 远端分支 | Commit | 说明 |
|---|---|---|---|
| SuperNPUBench | @main(origin/main) |
5afe2151 |
与 ops-20261020 相同 |
| llvm-project | @dev-llvm15_56 |
8610ef1c7 |
与 ops-20261020 相同 |
| Linx-TileOP-API | @linx |
8f43777 |
linxisa-v0.58.0-275-g8f43777;由 315f397 回退到 PTO 0.58.7 stable baseline(#287) |
| pto-spec | @main |
b0165320a |
v0.59.0.0,与 ops-20261020 相同 |
| linx-toolchain-build | @main |
e6a31ef |
头文件于 2026-10-21 12:38 重新安装 |
- 编译器:clang 15.0.4,target
linx64v5-unknown-linux-musl,取自
linx-toolchain-build/output/linx_blockisa_llvm_musl/bin(主 checkout,二进制的自报版本串8610ef1c7688e54d05c008f60b54f14ea38c69f1与 llvm-project HEAD 一致)。
产出对比(vs ops-20261020)
- ELF 清单完全一致(microbenchmark 428 + one-level 374),无增删改名;编译失败集合也逐项一致。
- 逐文件指令流对比(802 对 ELF):795 个完全一致,仅 7 个有实质代码变化,且每个恰好减少 24 条指令(代码变短导致地址/立即数偏移整体位移):
| 变化的 ELF | 指令数 旧 → 新 |
|---|---|
solution/conv2d/conv2d_img2col_dyn_PE4 |
5761 → 5737(−24) |
solution/gather_v2 ×3(half / int32 / float 各一) |
5657→5633、5533→5509、5627→5603(均 −24) |
solution/view_copy ×3(half ×2 / int32 ×1) |
5531→5507、5454→5430、5439→5415(均 −24) |
其余(matmul、fa、normalization、mxquant、MoE、micro 各 category 等)与上一版指令流一致。
遗留工具链问题(非本版引入)
kernel/fa的 10 个 MXFP4 lowp 用例仍因 LLVM 后端崩溃无法产出:fa_lowp、fa_lowp_recip×2、fa_mxfp4_opt、fa_lowp_algC_final×4、fa_lowp_algD×2;报错error in backend: B.ASSEMBLE ordinary source mixes a CLOSED parent epoch with a different ordinary definition(passLinxV5 Treg to Offset)。llvm-project 未变(8610ef1c7),属 LLVM 侧待修。micro/fixp22 例失败(SA未声明、*_mx_scale_a/b的 CUBE_M32 布局契约等)、kernel/matmul19 例、dynamic_mx_quant的 6 例 FP4 契约失败:均与上一版一致。
回归状态
本 release 不含 gfrun 复测(按 2026-09-19 后的发布策略)。
发布物
| 文件 | 内容 | ELF 数 |
|---|---|---|
supernpubench_microbenchmark_20261021.tar.gz |
microbenchmark 全部编译 ELF + .elf.diss | 428 |
supernpubench_one-level_20261021.tar.gz |
one-level-arch 全部编译 ELF + .elf.diss(kernel 323 + solution 51) | 374 |
| 合计 | 802 |
算子编译状态
microbenchmark(428 ELF / 26 编译失败)
| 算子 | 编译 ELF | 编译失败 | 状态 | 说明 |
|---|---|---|---|---|
| micro/scalar | 124 | 0 | 全部编译成功 | |
| micro/vector | 170 | 0 | 全部编译成功 | |
| micro/fixp | 100 | 22 | 部分失败 | bias/acc(TileOP use of undeclared identifier 'SA')、mx_scale_a/mx_scale_b/gemv_mx_scale_a/gemv_mx_scale_b(BFractal == BLayout::CubeM32 契约)、其余 MX 族、f16_groupmax/s8_rowmax/shared_* |
| micro/memory | 26 | 1 | 部分失败 | mgather_cas_fp32_16x16 |
| micro/cube | 8 | 3 | 部分失败 | 3 例 tmatmul_bias_* |
one-level-arch / kernel(323 ELF / 45 编译失败)
| 算子 | 编译 ELF | 编译失败 | 状态 | 说明 |
|---|---|---|---|---|
| kernel/fa | 55 | 25 | 部分失败 | 10 例 LLVM 后端崩溃 + 15 例矩阵模式契约(fa_2d_unroll_gmma 3 / fa_fixpipe 9 / fa_gmma_kchains 3) |
| kernel/matmul | 257 | 19 | 部分失败 | 容量断言 18 + matmul_hif4_l1_quantize 1(TCVT 契约) |
| kernel/reduction | 4 | 0 | 全部编译成功 | |
| kernel/concat | 2 | 0 | 全部编译成功 | |
| kernel/{broadcast,conv2d,element_wise,gather,vec} | 5 | 0 | 全部编译成功 | |
| kernel/transpose | 0 | 1 | 未编译产出 | TTRANS 已退役 |
| kernel/{mxquant,multi_thread,hashtable_lookup,broadcast_vec} | 0 | — | 未编译 | 不在 compile_all 矩阵内 |
one-level-arch / solution(51 ELF / 7 编译失败)
| 算子 | 编译 ELF | 编译失败 | 状态 | 说明 |
|---|---|---|---|---|
| solution/quant/dynamic_mx_quant | 13 | 6 | 部分失败 | 6 例 FP4 变体(TCVT 契约断言) |
| solution/normalization | 4 | 0 | 全部编译成功 | |
| solution/{moe_dispatch,moe_combine,mega_moe} | 9 | 0 | 全部编译成功 | |
| solution/quant_sparse_flash_mla | 5 | 0 | 全部编译成功 | |
| solution/matmul_test | 3 | 0 | 全部编译成功 | |
| solution/qli | 2 | 0 | 全部编译成功 | 多 PE(NPE=4) |
| solution/{group_token_vec,view_copy,gather_v2} | 9 | 0 | 全部编译成功 | 6 个代码变化项在此 |
| solution/{group_token_old,conv2d} | 4 | 0 | 全部编译成功 | conv2d 的 img2col_dyn 为变化项 |
| solution/quant_batch_matmul_test | 2 | 1 | 部分失败 | mxfp4 单 PE 变体 |
说明
- 每个 ELF 附带配对
.elf.diss(micro 428/428、one-level 374/374 校验通过)。 - 构建过程:
GIT_LFS_SKIP_SMUDGE=1创建 worktree(仓库含 Git LFS 跟踪文件,不跳过 smudge 会卡死);kernel/fa因套件脚本|| exit $?在 algD 崩溃后中断,用去掉 fail-fast 的副本逐例补跑恢复 55 个(建议修掉该|| exit $?)。 - excluded file types:
.o/.d/.lds/.cache/ logs;cw 默认不编译不入包;two-level 不支持。