| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增matmul类case Co-authored-by: lding-gitee<liangding2@huawei.com> # message auto-generated for no-merge-commit merge: !210 merge master into master 新增matmul类case Created-by: lding-gitee Commit-by: lding-gitee Merged-by: cann-robot Description: ## 变更描述 / Description <!-- --> 一、变更概述 本次变更向 bench_lab/ 孵化区合入两批算子 case,并对所有 case 按 docs/guide/contributing.md 贡献规范进行了合规修复,共涉及 **197 个文件**,净增 **71738 行**。 --- ## 二、新增算子 ### 1. 矩阵运算类(bench_lab/cv_agent_matmul_bench/) 新增 **15 个算子**,共 **303 个测试用例**,覆盖矩阵乘、分组矩阵乘、量化矩阵乘及融合矩阵乘等变体: | # | 算子目录 | 算子名 | category | difficulty | case 数 | |---|---------|--------|----------|-----------|--------| | 1 | flat_quant_pertoken_int4 | FlatQuant | Contraction | L3 | 20 | | 2 | fused_quant_mat_mul_gelu | FusedQuantMatMul | FusedComposite | L3 | 20 | | 3 | grouped_matmul_a8w8o16_pertoken_cv | GroupedMatmul | Contraction | L3 | 20 | | 4 | grouped_matmul_finalize_routing_a8w8_pertoken_v1.2 | GroupedMatmulFinalizeRouting | Contraction | L3 | 20 | | 5 | grouped_matmul_swiglu_quant_a8w8_tiling0 | GroupedMatmulSwigluQuant | FusedComposite | L4 | 20 | | 6 | quant_batch_matmul_inplace_add_mx_dynamic | QuantBatchMatmulInplaceAdd | Contraction | L3 | 20 | | 7 | quant_batch_matmul_v3_basic_epilogue | QuantBatchMatmulV3 | Contraction | L3 | 20 | | 8 | quant_batch_matmul_v4_gb_dynamic_pergroup | QuantBatchMatmulV4 | Contraction | L3 | 20 | | 9 | quant_grouped_matmul_dequant_dynamic_pertoken | QuantGroupedMatmulDequant | Contraction | L3 | 20 | | 10 | quant_grouped_matmul_inplace_add_tc_perchannel | QuantGroupedMatmulInplaceAdd | Contraction | L3 | 20 | | 11 | quant_matmul_reduce_sum_weight_nz | QuantMatmulReduceSum | Contraction | L3 | 20 | | 12 | rotate_quant | RotateQuant | Transform | L2 | 20 | | 13 | sparse4to2quant_matmul_dequant_weight_nz | Sparse4to2QuantMatmul | Contraction | L3 | 23 | | 14 | transpose_quant_batch_mat_mul_kc_debug | TransposeQuantBatchMatMul | Contraction | L3 | 20 | | 15 | weight_quant_batch_matmul_v2_antiquant | WeightQuantBatchMatmulV2 | Contraction | L3 | 20 | 难度分布:L2 x 1、L3 x 13、L4 x 1 ### 2. Attention 类(bench_lab/cv_agent_fa_bench/) 目录由原 cv_agent_bench 重命名为 cv_agent_fa_bench,包含 **24 个 Attention 算子**(121 个文件),涵盖 FlashAttention、MLA、Sparse、Window、Paged 等变体。 --- ## 三、合规修复(对照 docs/guide/contributing.md) 对 cv_agent_matmul_bench 下 15 个算子的全部 5 类文件(proto.yaml / golden.py / desc.md / cases.yaml / cases.csv)执行规范修复: ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [√] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!210 | 2 天前 | |
新增matmul类case Co-authored-by: lding-gitee<liangding2@huawei.com> # message auto-generated for no-merge-commit merge: !210 merge master into master 新增matmul类case Created-by: lding-gitee Commit-by: lding-gitee Merged-by: cann-robot Description: ## 变更描述 / Description <!-- --> 一、变更概述 本次变更向 bench_lab/ 孵化区合入两批算子 case,并对所有 case 按 docs/guide/contributing.md 贡献规范进行了合规修复,共涉及 **197 个文件**,净增 **71738 行**。 --- ## 二、新增算子 ### 1. 矩阵运算类(bench_lab/cv_agent_matmul_bench/) 新增 **15 个算子**,共 **303 个测试用例**,覆盖矩阵乘、分组矩阵乘、量化矩阵乘及融合矩阵乘等变体: | # | 算子目录 | 算子名 | category | difficulty | case 数 | |---|---------|--------|----------|-----------|--------| | 1 | flat_quant_pertoken_int4 | FlatQuant | Contraction | L3 | 20 | | 2 | fused_quant_mat_mul_gelu | FusedQuantMatMul | FusedComposite | L3 | 20 | | 3 | grouped_matmul_a8w8o16_pertoken_cv | GroupedMatmul | Contraction | L3 | 20 | | 4 | grouped_matmul_finalize_routing_a8w8_pertoken_v1.2 | GroupedMatmulFinalizeRouting | Contraction | L3 | 20 | | 5 | grouped_matmul_swiglu_quant_a8w8_tiling0 | GroupedMatmulSwigluQuant | FusedComposite | L4 | 20 | | 6 | quant_batch_matmul_inplace_add_mx_dynamic | QuantBatchMatmulInplaceAdd | Contraction | L3 | 20 | | 7 | quant_batch_matmul_v3_basic_epilogue | QuantBatchMatmulV3 | Contraction | L3 | 20 | | 8 | quant_batch_matmul_v4_gb_dynamic_pergroup | QuantBatchMatmulV4 | Contraction | L3 | 20 | | 9 | quant_grouped_matmul_dequant_dynamic_pertoken | QuantGroupedMatmulDequant | Contraction | L3 | 20 | | 10 | quant_grouped_matmul_inplace_add_tc_perchannel | QuantGroupedMatmulInplaceAdd | Contraction | L3 | 20 | | 11 | quant_matmul_reduce_sum_weight_nz | QuantMatmulReduceSum | Contraction | L3 | 20 | | 12 | rotate_quant | RotateQuant | Transform | L2 | 20 | | 13 | sparse4to2quant_matmul_dequant_weight_nz | Sparse4to2QuantMatmul | Contraction | L3 | 23 | | 14 | transpose_quant_batch_mat_mul_kc_debug | TransposeQuantBatchMatMul | Contraction | L3 | 20 | | 15 | weight_quant_batch_matmul_v2_antiquant | WeightQuantBatchMatmulV2 | Contraction | L3 | 20 | 难度分布:L2 x 1、L3 x 13、L4 x 1 ### 2. Attention 类(bench_lab/cv_agent_fa_bench/) 目录由原 cv_agent_bench 重命名为 cv_agent_fa_bench,包含 **24 个 Attention 算子**(121 个文件),涵盖 FlashAttention、MLA、Sparse、Window、Paged 等变体。 --- ## 三、合规修复(对照 docs/guide/contributing.md) 对 cv_agent_matmul_bench 下 15 个算子的全部 5 类文件(proto.yaml / golden.py / desc.md / cases.yaml / cases.csv)执行规范修复: ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [√] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!210 | 2 天前 | |
修复example文档问题&多卡并行数据采集问题 Co-authored-by: suyueming<suyueming@huawei.com> # message auto-generated for no-merge-commit merge: !195 merge master into master 修复example文档问题&多卡并行数据采集问题 Created-by: su-yueming Commit-by: suyueming Merged-by: cann-robot Description: ## 变更描述 / Description <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> ## 改动类型 / Change Type - [x] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues [#55](https://gitcode.com/cann/cann-bench/issues/55) [#56](https://gitcode.com/cann/cann-bench/issues/56) [#46](https://gitcode.com/cann/cann-bench/issues/46) <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!195 | 7 天前 | |
feat(metadata): 为 omni-ops_bench / cv_agent_bench 补齐 910b2 t_hw_us(HAP roofline) Co-authored-by: gxj1123<gao.xuejian1@huawei.com> # message auto-generated for no-merge-commit merge: !179 merge feat/fill-thw-omni-cv-910b2 into master feat(metadata): 为 omni-ops_bench / cv_agent_bench 补齐 910b2 t_hw_us(HAP roofline) Created-by: gxj1123 Commit-by: gxj1123 Merged-by: cann-robot Description: ## 变更描述 为 bench_lab 下此前缺 t_hw 的两个 bench 补齐 910b2 硬件锚定性能 t_hw(HAP roofline 下界),统一 floor 到 1μs。承接 #178(kernel_bench t_hw 补齐)的同类工作,覆盖另外两个 bench。 - **omni-ops_bench**:此前**无 metadata 目录** → 新建 metadata/910b2.json,11 个 attention/sparse-attention/indexer 算子 × 20 case = **220 条**。 - **cv_agent_bench**:910b2.json 此前仅有 _metadata(无算子条目)→ 补入 24 个 attention 变体算子 × 20 case = **480 条**。 baseline_perf_us 暂为 null(HAP 运行时按 t_hw 派生 fallback),本 PR 只补 t_hw。 ### 方法学 按 hap-ascend-910b2-v2 roofline:t_hw = max(t_cube, t_vector, t_hbm_read, t_write, t_mte1)(单 die、无 launch 开销、完美 overlap)。建模区分 QK^T/PV 矩阵乘(cube)、softmax(vector)、Q/K/V 输入读(HBM)、输出写(L2→HBM),并按 causal/sparse/GQA/MQA/MLA/paged 折减有效 FLOP 与 KV 读量。 ### dtype 约束 全部用例 dtype 均为 910B 支持类型(bf16/fp16/fp32/int8/int32/int64/bool/uint8),无 fp8/fp4/mx 等 950-only 精度,故全部计算。 ### 范围说明 - stanford_bench 用 speedup-vs-baseline 评分(metadata 为标量 baseline、无 t_hw 概念),不适用 HAP,未处理。 - 分布式/MC2 算子不在单 die roofline scope,未处理。 ### 已知不确定性(评审请关注) roofline 对 attention 的最大杠杆是**稀疏/局部/paged 场景下 K/V 的实际读字节口径**(按 dense 全读 vs 按稀疏率 gather 折减)。本 PR 多数按"实际消费字节 / per-batch union 去重"建模;若 kernel 实现的 KV 访问模式不同,read-bound case 的 t_hw 会相应变化。个别超长序列 prefill 的 sparse attention case t_hw 量级很大(数十~百 ms 级下界),属忠实于 golden 大 shape 的结果。 ## 改动类型 - [x] 数据补全(t_hw_us) ## 测试信息 - 两文件合法 JSON;无 <1μs 残留(floor 生效);BaselineStore 以扁平算子名键正确加载 t_hw(冒烟通过)。 - 仅新增/补入条目,未改动任何既有数据。 See merge request: cann/cann-bench!179 | 22 天前 | |
feat(auto_pipeline): 完善 PyPTO 运行登记与监控能力 Co-authored-by: zouwenxiang<zouwenxiang1@huawei.com> # message auto-generated for no-merge-commit merge: !126 merge auto_pipeline_pypto into master feat(auto_pipeline): 完善 PyPTO 运行登记与监控能力 Created-by: wen_xiang_zou_admin Commit-by: zouwenxiang Merged-by: cann-robot Description: ## 变更内容 - 新增 auto_pipeline run/task registry,持久化记录 run 状态、task 状态、进程身份、summary、耗时和产物路径。 - 完善 CLI: run / list / monitor / kill / retry;monitor 默认 watch,--once 表示单次渲染。 - 增强 monitor table:展示 generation/conversion/eval/total 耗时、stage、device、更新时间和 token usage。 - 新增 run 级 kill:校验 pid_start_time 后按 pgid、descendants 和 cleanup env 兜底清理,降低 PID 复用误杀风险。 - 新增手动 retry/resume:retry 创建新的 retry run,只运行选中的 task;支持多 task、--parallel、devices 继承/覆盖。 - AKG retry:将 source task 的 benchmark_result.json、akg_model.py、akg-agent.log staging 到 retry output,并通过 reuse_generated 复用生成代码。 - PyPTO retry:保留 workspace custom;已完成时 skip_if_done,未完成时继续 opencode;生成结果 snapshot 到 retry output 的 custom/<op>。 - 并行执行:device pool 下每个 active task 使用独立 multiprocessing.Process,单 task 异常不会连带 sibling task。 - 调整 PyPTO/CANN 设备环境传递、CANN matcher schema/path 解析,并补充 AKG/PyPTO auto pipeline 配置与示例目录结构。 ## 用户使用入口 - 启动:./scripts/run_auto_pipeline.sh run --config <yaml> --workspace <repo> --devices 0,1 --parallel 2 - 监控:./scripts/run_auto_pipeline.sh monitor --latest;单次快照用 --once。 - 停止:./scripts/run_auto_pipeline.sh kill --run-id <run_id> 或 kill --latest。 - 重试:./scripts/run_auto_pipeline.sh retry --run-id <source_run_id> --task <task>;多个 task 可重复 --task 或逗号分隔。 更完整的用户手册已写入关联 Issue #32。 ## 影响范围 - auto_pipeline CLI、state registry、monitor、kill、retry、批量 task 调度。 - PyPTO generator/converter 与 workspace custom 归档逻辑。 - AKG generator retry 复用逻辑。 - kernel_eval 的 device id、CANN matcher 与路径解析。 - bench_lab/pypto_cann_bench 示例目录从根 task 调整为 level1/<op>。 ## 验证说明 - Squash commit:34149fe feat(auto_pipeline): add run registry retry and monitor controls - 已执行单元测试:python -m pytest tests/ut/test_auto_pipeline_cli.py tests/ut/test_auto_pipeline_retry.py tests/ut/test_auto_pipeline_state.py tests/ut/test_benchmark_pipeline.py tests/ut/test_cann_matcher.py tests/ut/test_path_resolver.py -q - 单元测试结果:88 passed in 14.43s - 覆盖范围:CLI、state、monitor、kill、retry、batch pipeline、device pool、task process 异常隔离、CANN matcher、path resolver。 - 已执行 live smoke:真实 scripts/run_auto_pipeline.sh run/retry + /tmp fake AKG repo / fake opencode。 - AKG:source generate calls 为 1,retry 后仍为 1,akg_retry_reused=true,证明 retry 复用了 staged/generated artifact。 - PyPTO completed skip:source generation calls 为 1,retry 后仍为 1,retry_pypto_status=skipped,snapshot 存在。 - PyPTO incomplete resume:删除 workspace custom 的 SPEC.md 后 retry,generation calls 增加,retry_pypto_status=success,snapshot 存在。 - Live smoke 中 fake submission 在真实 eval/build 阶段预期失败;该验证用于确认 retry/state/产物复用语义,不代表真实 NPU eval 通过。 ## 关联 Issue - #32 See merge request: cann/cann-bench!126 | 1 个月前 | |
refactor: 迁移 StanfordBench 到 bench_lab/stanford_bench,移除 thirdparty 目录 Co-authored-by: Developer user<suyueming@huawei.com> # message auto-generated for no-merge-commit merge: !124 merge master into master refactor: 迁移 StanfordBench 到 bench_lab/stanford_bench,移除 thirdparty 目录 Created-by: su-yueming Commit-by: Developer user Merged-by: cann-robot Description: ## 变更描述 / Description 1. baseline 数据迁移 - 将 tasks/ 和 bench_lab/ 下所有 cases.yaml 中的 baseline_perf_us/t_hw_us 字段剥离,数据集中存储到各评测集 metadata/910b2.json - 删除 data/stanford_baseline.json,StanfordBench baseline 改由 bench_lab/stanford_bench/metadata/910b2.json 加载 - 新增 scripts/migrate_baseline_to_data.py 迁移工具脚本 2. src 代码变更 - __init__.py: 版本号改为动态读取(_version.py → VERSION 文件) - perf_strategy.py: KernelDetailsStrategy 以 kernel_details.csv 为唯一权威源, 不再 fallback 到 trace_view;TraceViewStrategy 标注待收编 - cann_loader.py: 集成 BaselineStore,baseline 优先从 JSON 查询 - stanford_loader.py: baseline 改由 BaselineStore 加载,移除 _load_baseline - report 模块: 微调 HTML/MD 报告和 setup_info 输出 3. 新增文件 - tasks/metadata/910b2.json + VERSION - bench_lab/*/metadata/910b2.json (cv_agent_bench, kernel_bench, pypto_cann_bench, stanford_bench) - pyproject.toml, VERSION (根目录), _version.py, test_version_consistency.py - docs/design/micro_benchmark_selection.md, module_panorama.md - docs/guide/version_policy.md 4. tests 更新 - test_benchmark_pipeline: 适配 baseline 迁移 - test_cases_yaml_csv_consistency: 新增 metadata JSON 与 cases.yaml 一致性校验 - test_version_consistency: 版本号一致性测试 1. 新增 PLATFORM_ALIAS 和 resolve_hardware() - 在 baseline_resolver.py 中添加产品型号→逻辑名映射表 - 支持精确匹配(Ascend910_9362 → 910b2)和前缀匹配(Ascend310P* → 310p) - 最长前缀优先,避免短 key 误匹配 - BaselineStore/BaselineResolver/__init__ 统一调用 resolve_hardware - has_baseline_for/resolve_baseline_us 内部自动解析硬件名 - 导出 resolve_hardware 和 PLATFORM_ALIAS 至 utils/__init__.py 2. 将 examples/eval_task → examples/tasks - 按 tasks/ 结构重构:add → level2/add, sqrt → level1/sqrt - 新增 metadata/910b2.json(fixture baseline,值均为 0.0 placeholder) - 新增 metadata/VERSION - 新增 cases.csv(与生产 tasks 格式一致) - 重写 README.md(目录结构、路径引用) - 更新 docs/guide/quick_start.md 和根 README.md 的路径引用 - 删除旧 examples/eval_task/ 目录 - 移动 scripts/download_benchmarks.sh → bench_lab/stanford_bench/download.sh, 下载目标从 thirdparty/KernelBench 改为 bench_lab/stanford_bench/KernelBench 将 direct_launch_example 从仅支持 910B 扩展为支持多种 SOC, 与 aclnn_launch_example 的多 SOC 能力对齐。 <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> [#31](https://gitcode.com/cann/cann-bench/issues/31) ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [x] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!124 | 1 个月前 | |
fix(tilelang): flash_attention/gemm 的 cases.yaml/csv 一致性修复(note 后缀 + dtype 引号) Co-authored-by: gxj1123<gao.xuejian1@huawei.com> # message auto-generated for no-merge-commit merge: !189 merge fix/tl-flash-attn-note into master fix(tilelang): flash_attention/gemm 的 cases.yaml/csv 一致性修复(note 后缀 + dtype 引号) Created-by: gxj1123 Commit-by: gxj1123 Merged-by: cann-robot Description: ## 变更描述 修复 bench_lab/tilelang_ascend_bench 下两处 cases.yaml/cases.csv 一致性问题,使 tests/ut/test_cases_yaml_csv_consistency.py::test_field_values 对该目录全部通过。 1. **flash_attention(承接 #181)**:cases.yaml 的 note 带 | baseline_kernels: FusedInferAttentionScore 后缀而 cases.csv 不带,20 条全部 不一致。本 PR 从 cases.yaml 删除该后缀,使其与 cases.csv 的 bare note 一致。 2. **gemm(既有问题)**:cases.csv 的 dtype 列为无引号 [float16, float16], 反序列化后被当作纯字符串,与 cases.yaml 的列表 ['float16','float16'] 不一致。 本 PR 改为带引号的合法 JSON ["float16","float16"] / ["bfloat16","bfloat16"] (对齐同目录 flash_attention 写法),20 条。 ## 改动范围 - bench_lab/tilelang_ascend_bench/flash_attention/cases.yaml(20 处 note) - bench_lab/tilelang_ascend_bench/gemm/cases.csv(20 处 dtype) - 仅动上述字段,其余字段/文件不变。 ## 测试 - test_cases_yaml_csv_consistency 中 tilelang(flash_attention + gemm)相关用例全部通过(0 mismatch)。 ## 关联 - 承接 #181(flash_attention 算子),修其遗留的 note 一致性;顺带修复同目录 gemm 既有的 dtype 一致性。 See merge request: cann/cann-bench!189 | 14 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 天前 | ||
| 2 天前 | ||
| 7 天前 | ||
| 22 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 14 天前 |