| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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(level2/apply_adam_w): epsilon 移回 sqrt 外对齐 torch.optim.AdamW Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !141 merge fix/task-apply-adam-w into master fix(level2/apply_adam_w): epsilon 移回 sqrt 外对齐 torch.optim.AdamW Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ## 变更描述 / Description F618( 03acd53e, 经 PR !138 合入 master) 把 ApplyAdamW golden 的更新式 从 update = m_hat / (v_hat.sqrt() + epsilon) (eps 在 **sqrt 外**) 改成 update = m_hat / (v_hat + epsilon).sqrt() (eps 在 **sqrt 内**), commit 注释自称 "move epsilon inside sqrt to match standard AdamW / torch.optim.AdamW"。 这个改动方向是反的: torch.optim.AdamW (以及 PyTorch 本体、torch_npu fused npu_apply_adam_w) 的 epsilon 都在 **sqrt 外**: m_hat / (sqrt(v_hat) + eps)。 ## 改动类型 / Change Type - [x] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> N/A ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!141 | 1 个月前 | |
fix+docs(golden): weight_quant 收敛为 plain(=bench) + oracle/bench 拆分约定文档 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !204 merge fix/weight-quant-plain-is-bench into master fix+docs(golden): weight_quant 收敛为 plain(=bench) + oracle/bench 拆分约定文档 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ## 变更描述 / Description 本 PR 现同时包含 weight_quant 代码收敛 + oracle/bench 约定文档。原计划分 code / doc 两个 PR (本 PR 与 #203), 但评审 (gxj1123 与 gitcode-bot) 指出文档 §2.4 描述的正是本 PR 代码产生的 master 状态 —— weight_quant 无 _bench、grouped_matmul 有 _oracle (#193 已合); 若文档先合会与仍带 _bench 的 master 矛盾。故合并进本 PR 并关闭 #203, 文档与 master 永不脱节, 顺带把先前报的 UT ImportError 一并修了。 **代码 (commit 1):** - weight_quant_batch_matmul (plain) 反量化从 fp32 收敛为 bf16/fp16 (输出精度 T=x.dtype) + fp32 累加, 即标准 A16W8 同精度 bench; 删掉冗余的 _bench (原 bf16-dequant, 现与 plain 重复); 修 tests/ut/test_weight_quant_oracle_bench.py 的 import (_bench -> plain)。收敛后 weight_quant 与 grouped_matmul (#193) 统一为 plain(=bench) + _oracle, 约定无例外。 **文档 (commit 2):** - contributing.md §2.4 (新增): oracle/bench 拆分完整约定 (三角色 + 核心规则 + 判据 + 示例)。 - benchmark_spec.md §4.4: golden_truncated (oracle) 与 CPU 同精度参考 (bench) 由哪个函数提供, 及硬 .float() 为何造成 |bench - oracle| = 0 退化 (补 #69 cpu_error==0 特例之争缺的上下文)。 不含 changelog (由维护者在发版时统一维护)。 ## 安全性 / 验证 - new plain == 原 _bench, fp16/bf16 均 bit-identical (CPU 实测) -> evaluator 的 bench 路径删 _bench 后 fallback 到 plain, 输出不变 -> 真 kernel baseline 评测 0 变化 (bench+oracle 都没动)。 - tests/ut/test_weight_quant_oracle_bench.py 本地 CPU **3/3 通过**。 - golden-npu-mock ST 由 CI 覆盖 (bf16-dequant 候选 = 同精度 bench, gate warn-only; 任何 warn-fail 属 normal-region MARE, 非 gate-red)。 ## 改动类型 / Change Type - [x] Bug 修复 / Bug Fix - [x] 代码重构 / Refactoring - [x] 文档更新 / Documentation ## 关联 Issue / Related Issues Related to PR [#192](https://gitcode.com/cann/cann-bench/merge_requests/192) , Issue [#59](https://gitcode.com/cann/cann-bench/issues/59) , [#61](https://gitcode.com/cann/cann-bench/issues/61) , [#69](https://gitcode.com/cann/cann-bench/issues/69) , [#75](https://gitcode.com/cann/cann-bench/issues/75) , [#80](https://gitcode.com/cann/cann-bench/issues/80) . 吸收并关闭 PR [#203](https://gitcode.com/cann/cann-bench/merge_requests/203) (doc-only)。 ## 检查清单 / Checklist - [x] UT 通过 (本地 CPU 3/3) - [x] 基础设施 (#192 loader 钩子 + evaluator 接线) 已在 master - [x] 无硬编码敏感信息 See merge request: cann/cann-bench!204 | 7 天前 | |
fix(level4/sparse_flash_attention): get_input 重建合法 sparseIndices 与 value Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !170 merge fix/task-sfa-getinput into master fix(level4/sparse_flash_attention): get_input 重建合法 sparseIndices 与 value Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ## 变更描述 / Description 通用数据生成器按单区间 value_range 随机填充, 无法表达 SparseFlashAttention 的两条 spec 契约, 导致 golden-candidate ST 假性发散(候选与参考拿到非法/语义不一致的输入): 1. **合法稀疏索引**: sparseIndices 须为同一 (b, n2, s1) 下 [0, S2) 内**无重复**的 topK 个索引。 golden 用 scatter_ 建 bool mask(见 golden.py),重复/越界索引会塌缩成更少的 True,与 gather 语义不一致。通用生成器给的是越界 + 大量重复的随机 int。 2. **value 与 key 同源**: value == key[..., :Dv](MLA latent KV cache 的前缀视图,Dk==Dv 时退化为 value == key;desc.md「语义约束」明文)。通用生成器给的是与 key 无关的随机张量。 本 PR 新增 get_input, 据 key/value/sparseIndices 的实际形状 (覆盖 BSND/BNSD、GQA、Dk≠Dv) 重建这两个 结构化输入, **同时替换 golden 与候选输入**以保证比较公平; query、key 原样保留。索引用固定 seed 生成, 跨 eval 确定可复现。 ## 改动类型 / Change Type - [x] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- 无对应 issue --> - N/A ## 测试信息 / Testing golden-candidate ST(candidate ≡ golden 在 NPU 按 case dtype 跑,reference = 同 golden fp64-CPU): get_input 让 element-sparse golden 在合法输入下自洽,**SparseFlashAttention 20/20**。 仅改 tasks/level4/sparse_flash_attention/golden.py 的 get_input,不涉及 cases.yaml/csv,无新增 UT。 - [ ] 单元测试通过 / UT passed - [x] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!170 | 24 天前 | |
release: V1.0.0 / tasks-v1.0.0 Co-authored-by: suyueming<suyueming@huawei.com> # message auto-generated for no-merge-commit merge: !212 merge master into master release: V1.0.0 / tasks-v1.0.0 Created-by: su-yueming Commit-by: suyueming Merged-by: cann-robot Description: ## 变更描述 / Description <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [x] 新功能 / 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!212 | 3 天前 | |
feat(report): 评测报告支持 AGENT/HARNESS/MODEL 提交标签渲染 Co-authored-by: suyueming<suyueming@huawei.com> # message auto-generated for no-merge-commit merge: !213 merge report into master feat(report): 评测报告支持 AGENT/HARNESS/MODEL 提交标签渲染 Created-by: magicjason0007 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 https://gitcode.com/cann/cann-bench/issues/62 <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!213 | 1 天前 |