Skip to content

SuperNPUBench ops-20261021(主 checkout 工具链刷新版)

Choose a tag to compare

@lvhao7896 lvhao7896 released this 21 Oct 07:20

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

本版性质:工具链刷新重编版。上游代码与 ops-20261020 完全相同(同一 commit 5afe2151),差异全部来自工具链更新:
TileOP-API 由 315f397 回到 8f43777("Restore linx to PTO 0.58.7 stable baseline" #287),主 linx-toolchain-build checkout 的工具链头文件于 2026-10-21 12:38 重新安装。

⚠️ 编译器说明:本版用的是主 linx-toolchain-build checkout(AGENTS.md 规定)的编译器。它与同日早间发布的 ops-20261021-newcc 不是同一套编译器(那版用的是已删除的 linx-toolchain-build-latest worktree:llvm-project 084bbc311 + TileOP-API 0150baa)。

构建源说明:严格基于 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(pass LinxV5 Treg to Offset)。llvm-project 未变(8610ef1c7),属 LLVM 侧待修。
  • micro/fixp 22 例失败(SA 未声明、*_mx_scale_a/b 的 CUBE_M32 布局契约等)、kernel/matmul 19 例、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 不支持。