Benchmark¶
Night-bench 快照
硬件 Ascend 910B1 · 提交 250b2be6447e · 运行日期 2026-09-23T09:32:42+00:00 · 149 个算子,1159 个工作负载
· 本次运行
页面渲染于 2026-10-08 01:43 UTC,数据取自最新快照。
第一阶段现在就是那份验收清单
自 2026-09-23 起,总览页和各家族数据页都只覆盖 oplist150 这份第一阶段验收清单的 149 个算子(docs/reports/R267-data/oplist150.json,150 行,占两行的算子只算一次)—— 对上汇报进度用的就是这份清单。在此之前,这些页面覆盖的是 docs/tasks/OPS-178.md 里 D018 保留下来的 158 个算子。那一天这些计数的变化,是口径变了,不是性能退了(也不是性能进了):这次调整没有重测任何一个比值,一个算子从一页挪到另一页,它的任何数字都不会变。
清单之外的算子(Attention 也在其中)只要快照为它发布了比值,就在第二阶段页上。
运行环境¶
| timer | torch_npu_profiler_device_kernel_interval_union |
| platform | Linux-5.10.0-136.12.0.86.r1526_92.hce2.aarch64-aarch64-with-glibc2.34 |
| python | 3.9.9 |
| provider | tilelang |
| headline_regime | graph |
| harness_commit | c04ff24867ce4b8e59ef426e67e0518d807b9bff |
| backend_commit | 250b2be6447e8c2699940a176103929956b99daa |
本次运行未发布:image, driver, cuda, torch, tilelang。
测量方法¶
- 同一个进程、同一批输入。 一个算子的所有实现都在同一个进程里、用同一批张量计时,先正序再逆序各跑一遍 —— 这样漂移不会只落在最后跑的那个实现上。
- Ascend nightly 每个实现的采样设置为 WARMUP=10 / REPEATS=30,报告测量样本的中位数,并在每次迭代之间驱逐 192 MiB L2。
- 编译和 workspace 准备的时间不计入。
- 被比较的是 device 时间 —— 一次调用在 device 上执行它各个 kernel 的区间并集,通过
torch_npu.profiler采集。取不到 device 活动的运行会失败,而不是退回另一个时钟。每个工作负载另外保留一份 host 挂钟读数作端到端参考,但比值用的是 device 时间:这台机器上 host 与 device 之差是每次测量、两侧各约 40–50 µs 的常数,用 host 计时会把便宜工作负载的比值推向 1.0(我们输时遮丑、赢时削峰)。 - MLIR 对手在子进程测量,以父子进程共同 case 标尺的中位数之比校正;每轮同时测量 case 与固定 global 标尺。仅进入 eager 池;候选旁标明实际 N,N<5 或样本数未知的候选保留 provisional 标注,不计入达标数。
覆盖情况¶
- 149 个算子里有 146 个是在完全相同的工作负载上与一个真实对照实现比较的。分母是本页展示的目标集合;阶段一未接入的算子保留空表。未评级的行没有实测比较,或只有 eager 参考实现。
- 每个算子对的是一个候选池。 主测量口径下符合准入条件的最快候选成为基准。整行保留所有候选及其各自耗时和来源档位。
- 149 个算子里有 20 个的候选池里存在 tier-1 开源库基线 —— 也就是从第三方 Ascend 算子库的源码编出来的 kernel,且只有拿到「该库自己编出来的 kernel 确实跑了」的证据才被接纳。分母同上。这是两个口径里更严的那一个,凡是关于「第三方算子库」的说法都应该引这个数。
- 24/149 个算子的已发布候选池中实测包含
tilelang-ascend(tilelang_ref档位);与上面的开源候选覆盖数可能重叠。 - 剩下 149 里的 102 个,候选池里只有厂商库实现 —— CANN 内置算子,或 torch_npu 自己的分发。这些行仍然是在完全相同的工作负载上与一个真实实现比较,但在那里赢了不等于赢过第三方算子库。每一行的来源徽章会说清它到底是哪一档。
- 所有表格里都没出现的:本次运行有 0 个工作负载报错、3 个被跳过。
数据页¶
| 页面 | 算子数 | 工作负载数 |
|---|---|---|
| Linear Attention 与 SSM | 2 | 10 |
| GEMM、MoE 与量化 | 20 | 251 |
| Elementwise 与归约 | 82 | 484 |
| Norm、Conv、Pool 及其它 | 45 | 414 |