CANN-Bench 评测报告
Ascend C Operator Benchmark — AI Code Generation Evaluation
Abstract / 摘要
本报告基于 CANN-Bench 评测框架,Agent/Skill为,Harness为,BaseModel为。使用 CANN-Bench全量基准测试数据集,本次对 3 个算子进行了评测,覆盖 Level 1 至 Level 3 共 2 个难度等级,60 个评测用例。涵盖编译正确性、功能精度和性能优化三个维度。 整体通过率为 100.0%(60/60),总得分为 52(满分 300)。
1. Evaluation Dataset Overview / 评测集概述
CANN-Bench评测集是一个面向昇腾算子开发的全量基准测试数据集,用于系统性验证算子代码的 编译正确性、功能精度和运行性能。评测集覆盖 53 个算子,分为 4 个难度等级,每个算子配套完整的 规格描述(desc.md)、原型定义(proto.yaml)、PyTorch 参考实现(golden.py)和多场景测试用例 (cases.yaml / cases.csv),为算子开发提供标准化的评测输入。
1.1 Difficulty Level Classification / 难度分级
| Level | Operators | Cases | Typical Examples |
|---|---|---|---|
| Level 1 — 基础算子 | 8 | 160 | Exp, Gelu, Sigmoid, Mish, SwiGlu |
| Level 2 — 中级算子 | 16 | 320 | Softmax, Gather, ApplyAdamW, RmsNorm |
| Level 3 — 高级算子 | 21 | 420 | Conv2D, TopK, NMS, GroupedMatmul |
| Level 4 — 复杂算子 | 8 | 160 | GQA, LSTM, MHA, MLA |
1.2 Scoring System / 评分体系
评测采用三维度独立加权评估,权重 w_c=0.2(编译)、w_f=0.3(功能精度)、w_p=0.5(性能)。 性能得分采用硬件锚点公式(HW-anchored),以 baseline_perf_us 和 t_hw_us 为参考锚点, 评估候选 kernel 时间在校准基线时间与硬件理论上限之间的相对位置。
2. Experiment Setup / 评测配置
Metadata / 元信息
| Framework | CANN-Bench V1.0.0 |
| Date | 2026-08-10 14:35:30 |
| Agent/Skill | |
| Harness | |
| BaseModel | |
| 评测集 | CANN-Bench tasks |
| License | CANN Open Software License v2.0 |
Environment / 运行环境
| NPU | Ascend910B4 × 1 |
| CPU | aarch64 |
| CANN | 9.1.0 |
| Driver版本 | cann-9.1.0 |
| PyTorch | 2.7.1+cpu |
| PyTorch NPU | 2.7.1.post4 |
| torchvision | 0.22.1 |
| Python | 3.11.15 |
| OS | Linux-5.10.0-60.18.0.50.r865_35.hce2.aarch64-aarch64-with-glibc2.39 |
| Docker | cake-ci / CANN 9.0.0 |
3. Results Analysis / 结果分析
3.1 结果总览
3.2 等级分析
| Level | Operators | Cases | Passed | Pass Rate | Avg Precision | Avg Speedup | Total Score |
|---|---|---|---|---|---|---|---|
| Level 2 — 中级算子 | 1 | 20 | 20 | 100% | 100% | 0.04x | 52 |
| Level 3 — 高级算子 | 2 | 40 | 40 | 100% | 100% | — | 0 |
Figure 1a. Total score by difficulty level.
Figure 1b. Average precision by difficulty level.
Figure 1c. Average speedup by difficulty level (几何平均).
3.3 算子分析
| # | Operator | Level | Pass Rate |
|---|---|---|---|
| 1 | Cummin | L2 | 100% |
| 2 | MoeFinalizeRouting | L3 | 100% |
| 3 | MoeReRouting | L3 | 100% |
| # | Operator | Level | Speedup |
|---|---|---|---|
| 1 | Cummin | L2 | 0.04x |
| 2 | MoeFinalizeRouting | L3 | — |
| 3 | MoeReRouting | L3 | — |
Table 3a-3b. Left: Operators by pass rate. Right: Operators by NPU speedup ratio.
4. Operator Details / 算子明细
4.2 Level 2 — 中级算子
| # | Operator | Category | Level | Cases | Passed | Pass Rate | Avg Precision | Avg Speedup | Total Score |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Cummin | Reduction | L2 | 20 | 20 | 100% | 100% | 0.04x | 52 |
4.3 Level 3 — 高级算子
| # | Operator | Category | Level | Cases | Passed | Pass Rate | Avg Precision | Avg Speedup | Total Score |
|---|---|---|---|---|---|---|---|---|---|
| 1 | MoeFinalizeRouting | FusedComposite | L3 | 20 | 20 | 100% | 100% | — | 0 |
| 2 | MoeReRouting | LayoutTransform | L3 | 20 | 20 | 100% | 100% | — | 0 |
CANN-Bench 认证
本评测报告由 CANN-Bench 评测框架自动生成,评测对象为 生成的 Ascend C 算子代码。
评测数据来源于 CANN-Bench tasks/ 标准化题库(tasks-v1.0.0),评分严格按照 CANN-Bench V1.0.0 评分规范执行。
CANN-Bench Evaluation Framework — AI for CANN, Benchmark for AI