| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 | |
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 | |
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 | |
补充 MIX CV 融合开发与调优能力到性能优化Agent中(gated_delta_rule 实例) Co-authored-by: liuyu15819<liuyu480@huawei.com> # message auto-generated for no-merge-commit merge: !668 merge br_mix_cv_fusion_skill into master 补充 MIX CV 融合开发与调优能力到性能优化Agent中(gated_delta_rule 实例) Created-by: liuyu15819 Commit-by: liuyu15819 Merged-by: cann-robot Description: ## 描述 以 gated_delta_rule CV 融合重写(scalar/VEC 0.03x → MIX_AIC_1_1 geomean 8.85x)为实例,将 MIX 模式开发与调优能力沉淀到既有 skill: ▎ - evolution-strategies:新增策略卡 P102(scalar/向量模拟矩阵运算 → MIX CV 融合重写,四阶段工作流 + 守卫铁律)、P103(Cube Neumann 乘积式三角求逆),配套 preconditions 与 ▎ strategy-index 注册(P101 登记为预留间隙) ▎ - ascendc-crash-debug:新增 mix-hang-debug.md(R1-R6 根因分类、守卫修复模式、带病 NPU 判别) ▎ - ascendc-api-best-practices:新增 api-mix-mode.md(MIX API 规范)+ api-buffer.md 双缓冲决策矩阵(L0C 禁双缓冲、SyncAll 串行 stage num=1、TBuf 手动双缓冲方案) ▎ - ascendc-precision-debug:MIX NaN/host 流竞争症状卡 + 陷阱 11/12 ▎ - ascendc-perf-optimize:Step 0 架构级判定卡 ▎ - tilelang2ascendc-kernel-generator:frontmatter 接入 crash-debug/perf-optimize ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> https://gitcode.com/cann/cannbot-skills/issues/460 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!668 | 3 天前 | |
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 | |
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 | |
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 | |
feat(ops-evolution): 同步性能优化相关特性 Co-authored-by: ANKH-zhengyu<zhangzhengyu2333@gmail.com> # message auto-generated for no-merge-commit merge: !602 merge sync-ops-evolution-0714 into master feat(ops-evolution): 同步性能优化相关特性 Created-by: weixin43463259 Commit-by: ANKH-zhengyu Merged-by: cann-robot Description: ## 描述 一、新增 CANNBot Ascend C 算子性能进化优化能力 - 新增插件 plugins-community/ops-perf-evolution/ - 支持三种输入路径:TileLang 路径(lingxi-evo)、Ops 仓库路径(ops-evo)、基线内核模式(lingxi-evo 默认) - 工作流覆盖:参数确认 → 环境检测 → 基线评估 → 世界模型初始化 → 多轮并行进化 → 最佳方案泛化验证 → HTML 报告输出 - 新增 Z-Search 进化循环 hooks:loop-bash-safety.sh、loop-stop.sh、loop-subagent-stop.sh 及 hooks.json 配置 - 新增 init.sh / quickstart.md 支持 OpenCode / Claude Code / TRAE 一键安装 - 新增 Subagent - agents/lingxi-evo.md - agents/ops-evo.md - agents/lingxi-partial.md - agents/ops-partial.md 二、新增 Skill 目录 - ops/evolution-knowledge/ — AscendC 进化优化领域知识库(A3 910B / A5 950 双架构) - ops/evolution-strategies/ — 策略库(D/P/A/R/X 五大系列,61+ 策略,含 discovered X3/X4/X5) - ops/evolution-world-model/ — 世界模型决策树工具与状态机 - ops/evolution-report/ — 进化完成后自动生成标准化 HTML 报告 - ops/ops-evaluation/ — ops 仓库算子构建、部署、精度与性能评估 - ops/ops-profiling/ — 性能剖析工具(本次同步含 msprof_perf_summary.py 在 compare/quick 模式下 kernel 耗时由取最大改为累加所有计算算子的改动) 三、ops-profiling 脚本增强 - ops/ops-profiling/scripts/msprof_perf_summary.py - _parse_msprof_duration(compare 模式):对 AI_CORE / AIV / MIX 算子 Task Duration 累加求和 - _parse_msprof_duration_quick(quick 模式):对 AI_VECTOR_CORE / AI_CORE / MIX_AIV / MIX kernel task_time 累加求和 - 原因:参考实现可能包含多个 PyTorch native kernel,AscendC 实现也可能拆分为多个 kernel,累加更能反映真实总耗时 四、注册与链接 - plugins-official/ops-perf-evolution/.claude-plugin/plugin.json 中注册相关 agents - init.sh 在 .claude/agents/ 和 .claude/skills/ 下创建符号链接(项目级 / 全局级安装) ## 测试 ### 概述 采用本项目,在cann-bench上测试对应算子的优化能力并已完成提交,结果如下: | 算子 | 通过 | score | job-id | |---|---|---|---| | **Gather** | 20/20 | 53.23 | job_0614f4f8ba9d | | **DequantSwigluQuant** | 20/20 | 59.10 | job_cfe9f5ea6951 | | **AddRmsNormDynamicQuant** | 20/20 | 58.42 | job_4155e533b85e | ### 详情 **DequantSwigluQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | DequantSwigluQuant | PASS | 0.233 | 0.33× | | 02 | DequantSwigluQuant | PASS | 0.186 | 0.28× | | 03 | DequantSwigluQuant | PASS | 0.168 | 0.27× | | 04 | DequantSwigluQuant | PASS | 0.124 | 0.19× | | 05 | DequantSwigluQuant | PASS | 0.369 | 0.62× | | 06 | DequantSwigluQuant | PASS | 0.071 | 0.09× | | 07 | DequantSwigluQuant | PASS | 0.192 | 0.28× | | 08 | DequantSwigluQuant | PASS | 0.285 | 0.44× | | 09 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 10 | DequantSwigluQuant | PASS | 0.267 | 0.42× | | 11 | DequantSwigluQuant | PASS | 0.188 | 0.31× | | 12 | DequantSwigluQuant | PASS | 0.191 | 0.29× | | 13 | DequantSwigluQuant | PASS | 0.392 | 0.67× | | 14 | DequantSwigluQuant | PASS | 0.107 | 0.14× | | 15 | DequantSwigluQuant | PASS | 0.103 | 0.14× | | 16 | DequantSwigluQuant | PASS | 0.234 | 0.34× | | 17 | DequantSwigluQuant | PASS | 0.008 | 0.01× | | 18 | DequantSwigluQuant | PASS | 0.059 | 0.07× | | 19 | DequantSwigluQuant | PASS | 0.114 | 0.17× | | 20 | DequantSwigluQuant | PASS | 0.111 | 0.14× | **Gather** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | Gather | PASS | 0.043 | 0.05× | | 02 | Gather | PASS | 0.058 | 0.07× | | 03 | Gather | PASS | 0.021 | 0.02× | | 04 | Gather | PASS | 0.024 | 0.03× | | 05 | Gather | PASS | 0.016 | 0.02× | | 06 | Gather | PASS | 0.006 | 0.01× | | 07 | Gather | PASS | 0.091 | 0.11× | | 08 | Gather | PASS | 0.062 | 0.07× | | 09 | Gather | PASS | 0.059 | 0.07× | | 10 | Gather | PASS | 0.044 | 0.05× | | 11 | Gather | PASS | 0.074 | 0.09× | | 12 | Gather | PASS | 0.048 | 0.06× | | 13 | Gather | PASS | 0.304 | 0.46× | | 14 | Gather | PASS | 0.043 | 0.05× | | 15 | Gather | PASS | 0.072 | 0.09× | | 16 | Gather | PASS | 0.044 | 0.05× | | 17 | Gather | PASS | 0.059 | 0.07× | | 18 | Gather | PASS | 0.060 | 0.07× | | 19 | Gather | PASS | 0.060 | 0.07× | | 20 | Gather | PASS | 0.101 | 0.12× | **AddRmsNormDynamicQuant** : | 序号 | 算子 | 状态 | 性能分 | 基准× | |---|---|---|---|---| | 01 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 02 | AddRmsNormDynamicQuant | PASS | 0.158 | 0.23× | | 03 | AddRmsNormDynamicQuant | PASS | 0.200 | 0.31× | | 04 | AddRmsNormDynamicQuant | PASS | 0.296 | 0.47× | | 05 | AddRmsNormDynamicQuant | PASS | 0.187 | 0.28× | | 06 | AddRmsNormDynamicQuant | PASS | 0.060 | 0.07× | | 07 | AddRmsNormDynamicQuant | PASS | 0.190 | 0.29× | | 08 | AddRmsNormDynamicQuant | PASS | 0.206 | 0.32× | | 09 | AddRmsNormDynamicQuant | PASS | 0.164 | 0.24× | | 10 | AddRmsNormDynamicQuant | PASS | 0.104 | 0.13× | | 11 | AddRmsNormDynamicQuant | PASS | 0.307 | 0.49× | | 12 | AddRmsNormDynamicQuant | PASS | 0.180 | 0.27× | | 13 | AddRmsNormDynamicQuant | PASS | 0.184 | 0.26× | | 14 | AddRmsNormDynamicQuant | PASS | 0.167 | 0.24× | | 15 | AddRmsNormDynamicQuant | PASS | 0.165 | 0.22× | | 16 | AddRmsNormDynamicQuant | PASS | 0.188 | 0.25× | | 17 | AddRmsNormDynamicQuant | PASS | 0.279 | 0.41× | | 18 | AddRmsNormDynamicQuant | PASS | 0.185 | 0.25× | | 19 | AddRmsNormDynamicQuant | PASS | 0.097 | 0.12× | | 20 | AddRmsNormDynamicQuant | PASS | 0.203 | 0.30× | ## 未来展望 ### 2.1 阶段性目标 当前 ops-perf-evolution 已实现面向 TileLang 路径、Ops 仓库路径和基线内核模式的多轮并行进化优化框架,在 Vector 类算子上已取得较好效果。下一步将聚焦 **FA 算子** 和 **CV 融合算子** 的优化知识补充,并持续提升 cann-bench benchmark 得分: | 时间节点 | 目标 | |---|---| | **2026-07 末** | 完成当前 PR 合入,稳定 plugins-community/ops-perf-evolution 插件结构 | | **2026-08 末** | 在 cann-bench 主流算子集上,将平均加速比从当前 **55 分** 提升至 **70 分**(目标提升约 **27%**);同时完成 FA 算子与 CV 融合算子的策略卡和 proven solutions 补充 | | **2026-08 末** | 视 FA / CV 融合算子族优化效果,再逐步扩展该算子族的skill和策略 | > 注:具体 benchmark 分数将根据合入后首个基线测试结果更新到本 PR 的追踪 issue 中。 ### 2.2 重点补充的算子优化知识 后续将优先补充以下算子的优化策略与 proven solutions: - **FlashAttention 族**:标准 FA / GQA / MLA / Decode / Prefill - **CV 融合算子**:多算子融合、数据排布优化、流水线并行 ### 2.3 希望社区的贡献方式 欢迎大家基于 ops-perf-evolution Agent 进行以下形式的贡献: 1. **补充策略卡** 在 ops/evolution-strategies/references/cards/ 下新增 P / D / A / R / X 系列策略,遵循现有 frontmatter + source_key 规范。 2. **补充 proven solutions** 在 ops/evolution-knowledge/references/a3/proven_solutions/INDEX.md 中记录已验证的算子优化方案,包括适用 shape、性能收益、精度结论。 3. **扩展评估后端** 完善 ops/ops-evaluation/ 和 ops/ops-profiling/ 的评测能力,支持更多芯片型号(如 910_93xx)和评测模式。 4. **补充算子专属 prompt 与检查点** 针对具体算子族优化 lingxi-evo / ops-evo 的执行路径,贡献更多算子模板工程化经验。 5. **修复路径硬编码与文档** 如本次 PR 中迁移插件位置、更新 quickstart 路径等,欢迎持续清理引用路径和文档错误。 6. **提交 benchmark 结果** 使用本 Agent 在真实 NPU 环境跑出的进化结果(evolution-report_*.html + performance.json)可作为 proven solution 的验证依据提交。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!602 | 13 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 13 天前 | ||
| 13 天前 | ||
| 13 天前 | ||
| 3 天前 | ||
| 13 天前 | ||
| 13 天前 | ||
| 13 天前 | ||
| 13 天前 |