| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
在plugins-community增加triton ascend、CATLASS、ascend c的AutoResearch算子优化工作流 Co-authored-by: xchang1121<changxiangyu1@huawei.com> # message auto-generated for no-merge-commit merge: !653 merge master into master 在plugins-community增加triton ascend、CATLASS、ascend c的AutoResearch算子优化工作流 Created-by: xchang1121 Commit-by: xchang1121 Merged-by: cann-robot Description: ## 描述 #### 新特性 New Features - 【autoresearch】新增 AutoResearch 官方插件。AutoResearch 是基于 Claude Code / Open Code,面向算子优化任务的自动化算子优化工作流项目,负责组织参考实现、候选 kernel、正确性校验、性能评测、远程ssh评测机/本地agent分离调度、批量执行和多轮优化状态管理。支持triton-ascend算子的优化。 - 【autoresearch】安装后以独立项目方式运行,保留原有 slash command、hooks、配置文件、批跑脚本和 worker 连接(使得运行agent端和评测机分离,仅通过ssh连接)方式,用户可以直接创建任务并连接本地或远端 worker 进行评测。 - 【autoresearch】内置 baseline 记录、状态机推进、失败信息提取和 CodeChecker 检查能力,便于跟踪多轮优化中的正确性、性能变化和失败原因。 ## CANN-bench Ascend C VEC算子优化结果: ### 1a. ForeachAddcdivScalar — 分数 84.13,平均加速比 **1.693**(19/20 用例超过参考) | 用例 | 加速比 vs 参考 | 我方 µs | 基线 µs | 通过 | |---|---|---|---|---| | 1 | 1.570 | 23.5 | 36.9 | ok | | 2 | 1.136 | 78.9 | 89.6 | ok | | 3 | 1.243 | 93.1 | 115.8 | ok | | 4 | 1.001 | 890.7 | 892.0 | ok | | 5 | 1.096 | 438.9 | 481.3 | ok | | 6 | 2.480 | 7.5 | 18.7 | ok | | 7 | 2.229 | 11.4 | 25.3 | ok | | 8 | 2.546 | 8.4 | 21.4 | ok | | 9 | 1.163 | 659.9 | 767.6 | ok | | 10 | 2.219 | 10.9 | 24.3 | ok | | 11 | 2.054 | 15.5 | 31.9 | ok | | 12 | 2.120 | 10.8 | 23.0 | ok | | 13 | 1.567 | 51.6 | 80.8 | ok | | 14 | 1.527 | 28.3 | 43.2 | ok | | 15 | 1.590 | 22.6 | 36.0 | ok | | 16 | 1.389 | 51.4 | 71.4 | ok | | 17 | 2.338 | 12.1 | 28.2 | ok | | 18 | 1.374 | 43.6 | 59.9 | ok | | 19 | 2.322 | 12.0 | 28.0 | ok | | 20 | 0.895 | 118.1 | 105.7 | ok | 小张量(6/7/8/10/11/12/17/19)达到参考的 2–2.5×;大张量(4/5/9/20)卡在带宽墙(~1.0×)。仅用例 20 <1。 ### 1b. Cummin — 分数 55.10,平均加速比 **0.132**(访存受限的扫描) | 用例 | 形状(dtype,dim) | 加速比 vs 参考 | 我方 µs | 基线 µs | 通过 | |---|---|---|---|---|---| | 1 | [1024,1024] f16 −1 | 0.048 | 227.0 | 10.9 | ok | | 2 | [2048,2048] f32 −1 | 0.188 | 464.2 | 87.4 | ok | | 3 | [4096,4096] bf16 −1 | 0.308 | 1088.6 | 335.5 | ok | | 4 | [8192,8192] i32 −1 | 0.326 | 4461.5 | 1454.0 | ok | | 5 | [16384,16384] f16 0 | 0.172 | 18178.5 | 3131.8 | ok | | 6 | [8192,8192] f32 1 | 0.306 | 4754.7 | 1454.0 | ok | | 7 | [1023,1023] bf16 −1 | 0.067 | 259.4 | 17.4 | ok | | 8 | [1009,1021] f16 0 | 0.038 | 278.9 | 10.7 | ok | | 9 | [1537,769] f32 −1 | 0.097 | 253.3 | 24.6 | ok | | 10 | [363,367,373] bf16 1 | 0.278 | 2680.0 | 745.4 | ok | | 11 | [2049,513] f16 −1 | 0.058 | 189.3 | 10.9 | ok | | 12 | [3,7,13,4001] f32 −1 | 0.035 | 654.1 | 22.8 | ok | | 13 | [1000003] bf16 −1 | 0.001 | 24235.7 | 33.3 | ok | | 14 | [11,13,17,67,67] f16 2 | 0.009 | 12046.3 | 113.7 | ok | | 15 | [3,7,11,13,1013] i32 −1 | 0.170 | 373.6 | 63.4 | ok | | 16 | [512,2049] f32 −1 | 0.057 | 383.5 | 21.9 | ok | | 17 | [255,8193] bf16 0 | 0.119 | 234.8 | 27.9 | ok | | 18 | [4097,511] f16 −1 | 0.099 | 220.3 | 21.8 | ok | | 19 | [2,511,2049] f32 1 | 0.154 | 283.9 | 43.6 | ok | | 20 | [4,255,2049] bf16 −1 | 0.100 | 420.0 | 41.8 | ok | 最差:用例 13(单条 1M 通道的一维扫描,仅一个核,0.001)与用例 14(nan/精确标量路径,0.009)。中等 1M 用例(1/7/8/11/12/16)延迟受限,处于 0.03–0.07。 ### 1c. Transpose — 分数 65.16,平均加速比 **0.537** | 用例 | 加速比 vs 参考 | 我方 µs | 基线 µs | 通过 | |---|---|---|---|---| | 1 | 0.021 | 507.5 | 10.9 | ok | | 2 | 1.122 | 35.9 | 40.3 | ok | | 3 | 0.876 | 80.7 | 70.6 | ok | | 4 | 0.528 | 1051.0 | 555.0 | ok | | 5 | 0.062 | 13211.9 | 814.9 | ok | | 6 | 0.099 | 124.2 | 12.3 | ok | | 7 | 0.573 | 19.0 | 10.9 | ok | | 8 | 0.706 | 30.5 | 21.5 | ok | | 9 | 0.625 | 19.7 | 12.3 | ok | | 10 | 1.008 | 646.2 | 651.3 | ok | | 11 | 0.555 | 19.6 | 10.9 | ok | | 12 | 0.672 | 33.9 | 22.8 | ok | | 13 | 0.601 | 16.6 | 10.0 | ok | | 14 | 0.852 | 24.4 | 20.8 | ok | | 15 | 0.428 | 265.9 | 113.7 | ok | | 16 | 0.067 | 1403.6 | 94.6 | ok | | 17 | 0.922 | 23.7 | 21.9 | ok | | 18 | 0.877 | 24.9 | 21.8 | ok | | 19 | 0.014 | 797.3 | 10.9 | ok | | 20 | 0.138 | 158.0 | 21.8 | ok | 多数用例处于参考的 0.5–1.1×。较慢:用例 1、19(0.02,int64/大规模全交换),用例 5(0.06,268 MB int64),用例 16(0.07),用例 6(0.10,A 维极小),用例 20(0.14)。 ## 2. CANN-bench Ascend C 18 个算子逐算子最佳加速比(仅标准 20 用例评测) 按分数从低到高排序。 avg_speedup = 相对官方参考的逐用例加速比均值。 | # | 算子 | 最佳分数 | avg_speedup(vs 参考) | vs_hw | 通过 | |---|---|---|---|---|---| | 1 | WeightQuantBatchMatmul | 33.06 | 0.091 | 0.017 | 9/20 | | 2 | Conv3DBackpropFilter | 36.21 | 0.007 | 0.001 | 14/20 | | 3 | GroupedMatmul | 43.70 | 0.101 | 0.012 | 14/20 | | 4 | DepthwiseConv2D | 48.70 | 0.053 | 0.001 | 18/20 | | 5 | ApplyRotaryPosEmb | 50.06 | 0.090 | 0.010 | 18/20 | | 6 | GQA | 51.84 | 0.048 | 0.009 | 20/20 | | 7 | MLA | 51.88 | 0.049 | 0.005 | 20/20 | | 8 | MHA | 52.20 | 0.062 | 0.014 | 20/20 | | 9 | GroupedMatmulSwigluQuant | 53.48 | 0.088 | 0.011 | 20/20 | | 10 | Gather | 54.35 | 0.212 | 0.007 | 20/20 | | 11 | Cummin | 55.12 | 0.132 | 0.008 | 20/20 | | 12 | QuantMatmul | 56.06 | 0.218 | 0.074 | 20/20 | | 13 | AddRmsNormDynamicQuant | 56.88 | 0.254 | 0.042 | 19/20 | | 14 | TopK | 57.40 | 0.211 | 0.012 | 20/20 | | 15 | Transpose | 65.16 | 0.537 | 0.039 | 20/20 | | 16 | DequantSwigluQuant | 65.84 | 0.559 | 0.082 | 20/20 | | 17 | Softmax | 67.51 | 1.428 | 0.096 | 19/20 | | 18 | ForeachAddcdivScalar | 84.13 | 1.693 | 0.534 | 20/20 | **分数 = 0.2·编译 + 0.3·功能 + 0.5·性能(×100)。** 只要 20/20 全通过,就已拿到 20(编译)+ 30(功能)= **50 分底线**;超过 50 的部分是性能项。因此低分算子分两类失效模式: - **功能受限**(未拿满 30 分底线):WeightQuant(9/20)、Conv3D 与 GroupedMatmul(14/20)、Depthwise 与 ApplyRotary(18/20)、AddRmsNorm 与 Softmax(19/20)。 - **性能受限**(全通过但 avg_speedup ≪ 1):注意力/矩阵乘簇(GQA/MLA/MHA/GroupedMatmul,约 0.05–0.10)与 Conv(0.007)。 ### Ascend C算子未来优化计划(持续更新cann-bench提交) **第一步,提升正确性。** 功能分(每算子最高 30 分)的获取成本低于性能优化,应优先补齐未通过用例:WeightQuant 当前仅通过 9/20,主要受限于 int4/int8 反量化的精度与边界值处理;Conv3D 与 GroupedMatmul 各通过 14/20;Depthwise、ApplyRotary、AddRmsNorm、Softmax 仅一至两个用例未过。与此同时需消除 no-NPU-perf 抖动,确保每个用例都执行可被 profiler 采集的 NPU 算子,避免个别用例缺失计时而导致整个算子被反作弊清零。 **第二步,为矩阵乘与注意力类算子实现一个可复用的 cube(Mmad)分块 GEMM 核**(L1→L0A/L0B→Mmad→L0C,配合双缓冲)。这类算子目前运行在标量/向量单元上,加速比仅 0.05–0.22:QuantMatmul 0.218、GroupedMatmul 与 GroupedMatmulSwigluQuant 0.09、MHA/MLA/GQA 0.05–0.06、Conv3D 0.007(采用 im2col+cube)。该核预计需数小时开发,但可同时带动上述多个算子的性能。 **第三步,进一步优化当前最高分算子 Foreach**(84.13,已超过参考实现)。其瓶颈集中于大张量用例(4/5/9/20,加速比接近 1×),可通过增大 TILE、引入三级缓冲改善数据搬运重叠,或将 Div+Muls+Add 融合为 Div+Axpy 两步来提升。由于该算子分值最高,即使 5% 的提升对总分的贡献也高于修复一个 0.05 的落后算子。 **Transpose(0.537)与 Cummin(0.132)已接近 c220 的性能上限,建议置于最后或暂缓。** 二者剩余的低速用例——transpose 的 int8/int64 与 A 维极小场景、cummin 的单核长扫描——均受硬件限制:c220 不具备 MicroAPI/RegTensor,厂商基于寄存器的 Sklansky 前缀扫描与 int8/int64 硬件转置在此均不可用;已实现并验证正确的两级 block-scan 在 910c 上无净收益。 # Triton-Ascend 优化结果 ### KernelBench L1 AutoResearch 批跑结果 跑批环境:Ascend 910B3 + torch 2.7.1 + torch_npu 2.7.1 + triton-ascend 3.2.0 批跑总耗时:27.2h(12 op × 50 轮 max,per-op 240min wall-clock cap,--eval-timeout 600s) 状态:8 done / 4 error;batch.log 输出 done : 8 (median 1.43x, best 6.80x, worst 0.29x) ### 结果总表(精度均全部通过) | Level | Problem ID | 算子名称 | 验收类型 | PyTorch 性能(μs) | triton 性能(μs) | triton 优化后性能(μs) | 加速比(无工作流直接生成triton代码) | 加速比(AutoResearch初始生成) | 加速比(AutoResearch优化后) | 轮数 | 状态 | |---|---|---|---|---:|---:|---:|---:|---:|---:|---:|---| | 1 | 36 | RMSNorm | VECTOR | 30,043.1 | timeout | 12,310.6 | 0.03x | — | **2.44x** | 26/50 | error (240min cap) | | 1 | 42 | Max_Pooling_2D | VECTOR | 38,458.2 | 3,344,552.8 | 1,737,993.3 | — | 0.011x | **0.022x** | 33/50 | error (240min cap) | | 1 | 44 | Average_Pooling_1D | VECTOR | 20,584.3 | timeout | 12,235.3 | — | — | **1.68x** | 30/30 | done | | 1 | 45 | Average_Pooling_2D | VECTOR | 3,515,948.4 | 2,745,268.0 | 54,680.1 | — | 1.28x | **64.30x** | 40/50 | error (240min cap) | | 1 | 49 | Max_reduction_over_a_dimension | VECTOR | 21,639.9 | 16,499.2 | 6,961.1 | 0.49x | 1.31x | **3.11x** | 50/50 | done | | 1 | 51 | Argmax_over_a_dimension | VECTOR | 21,642.5 | 40,132.3 | 28,674.7 | — | 0.54x | **0.75x** | 50/50 | done | | 1 | 89 | cumsum | VECTOR | 75,221.2 | 706,479.1 | 22,177.0 | 0.22x | 0.11x | **3.39x** | 50/50 | done | | 1 | 93 | masked_cumsum | VECTOR | 90,032.7 | 716,425.3 | 18,959.6 | — | 0.13x | **4.75x** | 14/50 | error (API socket drop) | | 1 | 4 | Matrix_vector_multiplication | CUBE | 34,602.9 | 7,055.8 | 5,089.7 | 0.16x | 4.90x | **6.80x** | 50/50 | done | | 1 | 10 | 3D_tensor_matrix_multiplication | CUBE | 643.6 | 2,139.5 | 743.3 | 0.74x | 0.30x | **0.87x** | 50/50 | done | | 1 | 14 | Matmul_for_upper_triangular_matrices | CUBE | 1,800.5 | 6,464.0 | 1,525.3 | 0.25x | 0.28x | **1.18x** | 50/50 | done | | 1 | 15 | Matmul_for_lower_triangular_matrices | CUBE | 1,795.9 | 6,186.5 | 6,161.8 | 0.01x | 0.29x | **0.29x** | 50/50 | done | ### NPUKernelBench AutoResearch 较难算子批跑结果 跑批环境:Ascend 910B3 + torch 2.7.1 + torch_npu 2.7.1 + triton-ascend 3.2.0 批跑总耗时:30.6h(11 个 op × 50 轮 max,per-op 240min wall-clock cap) #### 结果总表 | Level | Problem ID | 算子名称 | 算子类型 | 基线性能(us) | 初始triton性能(us) | 无工作流直接生成(us) | 加速比 (AutoResearch初始生成) | 加速比(AutoResearch优化后) | 精度通过率 | |---|---|---|---|---|---|---|---|---|---| | 1 | 18 | Index | vector | 89.30 | 741.19 | 700.85 | 0.12x | 0.13x | 41/41 | | 1 | 23 | RepeatInterleave | vector | 137.32 | 1969.94 | 584.05 | 0.07x | 0.24x | 75/75 | | 1 | 24 | EmbeddingDenseBackward | vector | 2227.56 | 3007.04 | 2894.63 | 0.74x | 0.77x | 30/30 | | 1 | 26 | AvgPool3d | vector | 242.78 | 1982.52 | 1267.77 | 0.12x | 0.19x | 72/72 | | 1 | 31 | IOU | vector | 656.20 | 410.17 | 363.18 | 1.60x | 1.81x | 30/30 | | 2 | 1 | RotaryMul | vector | 189.67 | 451.12 | 419.51 | 0.42x | 0.45x | 50/50 | | 2 | 5 | MoeInitRouting | vector | 484.86 | 932.58 | 927.20 | 0.52x | 0.52x | 53/53 | | 2 | 9 | TopKTopP | vector | 8905.87 | 8982.35 | 8927.97 | 0.99x | 1.00x | 50/50 | | 2 | 17 | EmbeddingWithInitialLayernormBackward | vector | 2353.81 | 2292.43 | 2282.59 | 1.03x | 1.03x | 57/57 | | 2 | 18 | FusedAddRmsnorm | vector | 485.82 | 369.37 | 201.61 | 1.32x | 2.41x | 50/50 | | 2 | 23 | HyenaFftSizePaddingRfft | vector | 941.73 | 622.61 | 517.08 | 1.51x | 1.82x | 49/49 | ## 字段说明 - **基线性能**:PyTorch F.X(...) ref 在 NPU 上跑出的延迟,单位 μs - **triton 性能**:手写 triton seed kernel 跑出的延迟(AR 优化前),单位 μs - **triton 优化后性能**:AR 50 轮 EDIT 后最佳 kernel 的延迟,单位 μs - **加速比** = 基线 / triton(>1x 表示 triton 快于 ref)的几何平均 - **加速比(性能优化后)** = 基线 / triton优化后 的几何平均 - **精度通过率** = 通过 allclose 的 case 数 / 总 case 数(per-dtype atol+rtol,fp32 2^-13/1e-5、fp16 2^-10/1e-3、bf16 2^-7/1e-2) #### 特性增强 Enhancements #### 代码清理 Cleanup ## 关联的Issue 无。 ## 测试 - 本地检查插件目录结构,确认 plugins-official/autoresearch 下包含安装脚本、应用代码、qui See merge request: cann/cannbot-skills!653 | 3 天前 | |
fix(cannbot-insight): harden CLI argument handling Co-authored-by: 执炬人<chuangruiwang@hust.edu.cn> # message auto-generated for no-merge-commit merge: !593 merge fix/cannbot-insight-cli-argument-boundary into master fix(cannbot-insight): harden CLI argument handling Created-by: Torchbearer127 Commit-by: 执炬人 Merged-by: cann-robot Description: ## 描述 - 【cannbot-insight】将 start.sh -c 的 CLI 子命令与附加参数按独立 argv 传递,避免词分割和路径名展开。 - 为附加 CLI 参数提供显式 -- <cli-args...> 入口,并补充启动脚本文档与回归测试。 ## 关联的Issue Fixes #399 ## 测试 - bash -n plugins-community/cannbot-insight/start.sh - npm test:干净 Node 20 环境,64 个测试文件通过,633 项通过,43 项条件跳过。 - npx eslint tests/start-script.test.ts src/lib/version.ts - tests/run-tests.sh --fast:12/12 通过;L2 安装行为测试 1962 项通过、0 失败。 ## 文档更新 - 更新中英文 README,说明 -c 模式和附加 CLI 参数的显式传递方式。 - 更新插件与仓库 CHANGELOG.md。 ## 类型标签 - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [x] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [x] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [x] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 本地验证已完成,等待 GitCode 流水线复核。 See merge request: cann/cannbot-skills!593 | 8 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 3 天前 | |
【collaborative-agent-kernel-evolution】新增 CAKE2 进化式 AscendC 算子生成 Team(仅 Vector 算子) Co-authored-by: Junyifannnn<fan.junyi@huawei.com> # message auto-generated for no-merge-commit merge: !313 merge feat/add-cake-plugin into master 【collaborative-agent-kernel-evolution】新增 CAKE2 进化式 AscendC 算子生成 Team(仅 Vector 算子) Created-by: gcw_P2Mh5H1S Commit-by: Junyifannnn Merged-by: cann-robot Description: ## 描述 **新特性**: 【collaborative-agent-kernel-evolution】新增 plugins-community/collaborative-agent-kernel-evolution —— 进化式 AscendC 算子生成 Team(仅 Vector 算子)。 含 3 个 Agent 与 19 个内置 Skill,覆盖「算子描述生成 → PyTorch 参考 → functional 转换 → AscendDSL baseline → DSL lowering 到 AscendC → 编译评估 →(可选)进化式多变体性能优化」全流程: - cake(primary):标准单算子生成主流程 - cake-evo(primary):并行多变体进化优化 - cake-partial(subagent):被 cake-evo 调度的半程生成子任务 自包含单插件(目录 plugins-community/collaborative-agent-kernel-evolution/,对齐 ops-easyasc-dsl 自包含形态) ## 关联的Issue 关联 Issue [#230](https://gitcode.com/cann/cannbot-skills/issues/230) ## 测试 - **L1 结构门禁 skill_validator.py**:19 skills + 3 agents **0 error**(warn-only:6× S-CON-05、2× S-CON-06「缺错误处理章节」,不阻断) - **tests/run-tests.sh --fast**:10 项全过(初次 test-line-endings 报 6 个 CRLF 文件,均为插件内 vendored 外部文档,已全部转 LF,复跑 PASS) ## 文档更新 - 新增 plugins-community/collaborative-agent-kernel-evolution/(含 README / docs / tests) - 根 .claude-plugin/marketplace.json 注册 cake(source ./plugins-community/collaborative-agent-kernel-evolution,category development) - 更新根 CHANGELOG.md(2026-06-02 条目) ## 类型标签 - [x] 🌟 新特性 ## AscendC 算子评测结果 | Operator | Job ID | Cases | Score | Avg speedup | Rel path | |---|---|---:|---:|---:|---|---| | apply_rotary_pos_emb | job_940a45830a2f | 20/20 | 63.339075 | 0.355671 | level2/apply_rotary_pos_emb | | softmax | job_5ec935012955 | 20/20 | 68.015671 | 0.661441 | level2/softmax | | topk | job_bc7b660e83a6 | 20/20 | 54.233631 | 0.119558 | level3/top_k | ## apply_rotary_pos_emb - Job: job_940a45830a2f; operator: ApplyRotaryPosEmb; cases: 20/20; score: 63.339075; avg_speedup: 0.355671. | # | Case ID | Elapsed us | Baseline us | HW limit us | Speedup | Speedup vs HW | Perf score | |---:|---|---:|---:|---:|---:|---:|---:| | 1 | level2/apply_rotary_pos_emb_1 | 182.06 | 89.56 | 35.02 | 0.491926 | 0.192354 | 0.270563 | | 2 | level2/apply_rotary_pos_emb_2 | 779.98 | 113.24 | 59.22 | 0.145183 | 0.075925 | 0.069723 | | 3 | level2/apply_rotary_pos_emb_3 | 125.34 | 78.24 | 14.56 | 0.624222 | 0.116164 | 0.365012 | | 4 | level2/apply_rotary_pos_emb_4 | 140.26 | 246.2 | 32.77 | 1.755312 | 0.233638 | 0.665057 | | 5 | level2/apply_rotary_pos_emb_5 | 3001.06 | 391.07 | 140.36 | 0.130311 | 0.04677 | 0.080578 | | 6 | level2/apply_rotary_pos_emb_6 | 654.54 | 347.8 | 34.78 | 0.531366 | 0.053137 | 0.335578 | | 7 | level2/apply_rotary_pos_emb_7 | 146.94 | 73.08 | 23.1 | 0.497346 | 0.157207 | 0.287539 | | 8 | level2/apply_rotary_pos_emb_8 | 360.54 | 74.4 | 26.64 | 0.206357 | 0.073889 | 0.125138 | | 9 | level2/apply_rotary_pos_emb_9 | 178.12 | 198.1 | 19.81 | 1.112172 | 0.111217 | 0.529679 | | 10 | level2/apply_rotary_pos_emb_10 | 274.06 | 163 | 16.3 | 0.59476 | 0.059476 | 0.362706 | | 11 | level2/apply_rotary_pos_emb_11 | 1398.00 | 186.7 | 98.62 | 0.133548 | 0.070544 | 0.063483 | | 12 | level2/apply_rotary_pos_emb_12 | 896.26 | 48 | 4.8 | 0.053556 | 0.005356 | 0.04622 | | 13 | level2/apply_rotary_pos_emb_13 | 595.38 | 425.07 | 100 | 0.713947 | 0.16796 | 0.396209 | | 14 | level2/apply_rotary_pos_emb_14 | 27.18 | 10 | 1 | 0.367918 | 0.036792 | 0.255827 | | 15 | level2/apply_rotary_pos_emb_15 | 86.22 | 21.7 | 2.17 | 0.251682 | 0.025168 | 0.18855 | | 16 | level2/apply_rotary_pos_emb_16 | 82.48 | 41.34 | 4.17 | 0.501212 | 0.050558 | 0.321874 | | 17 | level2/apply_rotary_pos_emb_17 | 5265.48 | 2621.60 | 262.16 | 0.497884 | 0.049788 | 0.320456 | | 18 | level2/apply_rotary_pos_emb_18 | 97.2 | 43.9 | 4.39 | 0.451646 | 0.045165 | 0.298594 | | 19 | level2/apply_rotary_pos_emb_19 | 27.12 | 10 | 1 | 0.368732 | 0.036873 | 0.256264 | | 20 | level2/apply_rotary_pos_emb_20 | 1260.70 | 183.04 | 54.04 | 0.145189 | 0.042865 | 0.096581 | ## softmax - Job: job_5ec935012955; operator: Softmax; cases: 20/20; score: 68.015671; avg_speedup: 0.661441. | # | Case ID | Elapsed us | Baseline us | HW limit us | Speedup | Speedup vs HW | Perf score | |---:|---|---:|---:|---:|---:|---:|---:| | 1 | level2/softmax_1 | 19.42 | 15.7 | 1.57 | 0.808445 | 0.080844 | 0.441839 | | 2 | level2/softmax_2 | 30.96 | 37.98 | 8.74 | 1.226744 | 0.2823 | 0.568208 | | 3 | level2/softmax_3 | 104.2 | 91.76 | 25.17 | 0.880614 | 0.241555 | 0.457286 | | 4 | level2/softmax_4 | 2175.34 | 1006.60 | 100.66 | 0.462732 | 0.046273 | 0.303943 | | 5 | level2/softmax_5 | 458.2 | 422.73 | 139.81 | 0.922588 | 0.305129 | 0.470506 | | 6 | level2/softmax_6 | 1907.08 | 786.04 | 101.69 | 0.412169 | 0.053322 | 0.274868 | | 7 | level2/softmax_7 | 22.42 | 20.04 | 3.14 | 0.893845 | 0.140054 | 0.467109 | | 8 | level2/softmax_8 | 61.92 | 58.12 | 17.49 | 0.93863 | 0.282461 | 0.477663 | | 9 | level2/softmax_9 | 1044.48 | 412.79 | 50.08 | 0.395211 | 0.047947 | 0.267266 | | 10 | level2/softmax_10 | 21.82 | 14.2 | 1.55 | 0.650779 | 0.071036 | 0.384265 | | 11 | level2/softmax_11 | 2669.88 | 1063.10 | 108.09 | 0.398183 | 0.040485 | 0.271557 | | 12 | level2/softmax_12 | 61.3 | 62.58 | 14.59 | 1.020881 | 0.23801 | 0.506758 | | 13 | level2/softmax_13 | 2246.58 | 30 | 3 | 0.013354 | 0.001335 | 0.011891 | | 14 | level2/softmax_14 | 238.52 | 227.3 | 22.73 | 0.95296 | 0.095296 | 0.486654 | | 15 | level2/softmax_15 | 30.6 | 30.46 | 4.56 | 0.995425 | 0.14902 | 0.498652 | | 16 | level2/softmax_16 | 115.28 | 15.7 | 1.57 | 0.13619 | 0.013619 | 0.110529 | | 17 | level2/softmax_17 | 19.98 | 18.64 | 4.35 | 0.932933 | 0.217718 | 0.477607 | | 18 | level2/softmax_18 | 24.9 | 20.12 | 3.14 | 0.808032 | 0.126104 | 0.438307 | | 19 | level2/softmax_19 | 119.64 | 31.3 | 3.13 | 0.261618 | 0.026162 | 0.194706 | | 20 | level2/softmax_20 | 1870.84 | 219.8 | 21.98 | 0.117487 | 0.011749 | 0.096654 | ## topk - Job: job_bc7b660e83a6; operator: TopK; cases: 20/20; score: 54.233631; avg_speedup: 0.119558. | # | Case ID | Elapsed us | Baseline us | HW limit us | Speedup | Speedup vs HW | Perf score | |---:|---|---:|---:|---:|---:|---:|---:| | 1 | level3/top_k_1 | 2431.10 | 10.9 | 1.09 | 0.004484 | 0.000448 | 0.004021 | | 2 | level3/top_k_2 | 279.02 | 21.8 | 2.18 | 0.078131 | 0.007813 | 0.066181 | | 3 | level3/top_k_3 | 995.88 | 174.8 | 17.48 | 0.175523 | 0.017552 | 0.13852 | | 4 | level3/top_k_4 | 281395.82 | 1398.10 | 139.81 | 0.004968 | 0.000497 | 0.004454 | | 5 | level3/top_k_5 | 2508.46 | 1398.10 | 139.81 | 0.557354 | 0.055735 | 0.346929 | | 6 | level3/top_k_6 | 6939698.16 | 1398.10 | 139.81 | 0.000201 | 2.015e-05 | 0.000181 | | 7 | level3/top_k_7 | 74.9 | 10.9 | 1.09 | 0.145527 | 0.014553 | 0.117316 | | 8 | level3/top_k_8 | 3213.32 | 21.5 | 2.15 | 0.006691 | 0.000669 | 0.00599 | | 9 | level3/top_k_9 | 97.66 | 13.8 | 1.38 | 0.141307 | 0.014131 | 0.114259 | | 10 | level3/top_k_10 | 95309.40 | 1035.20 | 103.52 | 0.010861 | 0.001086 | 0.009691 | | 11 | level3/top_k_11 | 104.16 | 10.9 | 1.09 | 0.104647 | 0.010465 | 0.086906 | | 12 | level3/top_k_12 | 111.12 | 22.8 | 2.28 | 0.205184 | 0.020518 | 0.158627 | | 13 | level3/top_k_13 | 4755.26 | 14.3 | 1.43 | 0.003007 | 0.000301 | 0.0027 | | 14 | level3/top_k_14 | 2448.26 | 20.8 | 2.08 | 0.008496 | 0.00085 | 0.007595 | | 15 | level3/top_k_15 | 19245.22 | 170.5 | 17.05 | 0.008859 | 0.000886 | 0.007917 | | 16 | level3/top_k_16 | 211.92 | 126.8 | 12.68 | 0.598339 | 0.059834 | 0.364182 | | 17 | level3/top_k_17 | 80.84 | 21.9 | 2.19 | 0.270905 | 0.027091 | 0.200386 | | 18 | level3/top_k_18 | 6133.36 | 24.4 | 2.44 | 0.003978 | 0.000398 | 0.003569 | | 19 | level3/top_k_19 | 184.64 | 10.9 | 1.09 | 0.059034 | 0.005903 | 0.050734 | | 20 | level3/top_k_20 | 5940.70 | 21.8 | 2.18 | 0.00367 | 0.000367 | 0.003293 | ## 未来三个月的计划 ### 第 1 个月 —— 完善 补全 reduce类,数学函数类,排序类算子的生成与优化skill和harness ### 第 2 个月 —— 拓展CV融合算子 增加对CV类融合算子如quant_batch_matmul,grouped_matmul_swiglu_quant等的生成适配,保障生成精度 ### 第 3 个月 —— 拓展attention算子 增加对attention类算子的适配 See merge request: cann/cannbot-skills!313 | 3 天前 | |
/lgtm Co-authored-by: xutianze<xutianze2@huawei.com> # message auto-generated for no-merge-commit merge: !679 merge feat/per-op-layout-and-init-enhancements into master feat(cuda2ascend): per-op 布局重构与 init 脚本增强 Created-by: xutianze Commit-by: xutianze Merged-by: cann-robot Description: ## 改动概述 ### 1. .cannbot 产物按算子分目录 - 阶段产物统一落 .cannbot/<算子名>/ 子目录,环境信息文档共享留根 - state.json 改为 per-op,PM 启动时扫描识别算子 - 解决原平铺布局下多算子互相覆盖的问题 ### 2. 环境检查跳过判定 - .cannbot/0-环境信息.md 已存在且环境未变时,跳过阶段 0 与 CP0,直入 1.1 - 修正 state-schema 原第 3/4 条自相矛盾 ### 3. init 脚本增强 - 基类新增 SUPPORTED_TOOLS 单一真值源 + --list-tools 旗标 - 子仓 -h 透传基类工具列表,不再硬编码 - Quick Start 在 --override 时不输出,由子类承载定制 ### 4. 文档一致性 - 统一 7.1/7.2 执行者措辞为「developer-doc 起草→PM 落盘」 - 删除交付件模板中的编排逻辑描述 ## Commit 列表 1. feat: .cannbot 产物按算子分目录,支持多算子并行 2. fix: 统一 7.1/7.2 落盘执行者措辞 3. feat: 环境检查已存在且未变时跳过 0 与 CP0 4. refactor: 删除 0-环境信息模板中「交付件可复用」 5. feat: init 支持 --list-tools,子仓 -h 透传基类工具列表 6. feat: Quick Start 在 --override 时不输出,由子类承载 See merge request: cann/cannbot-skills!679 | 4 小时前 | |
feat(install-helper): 批量卸载 Skills/Plugins 功能 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !678 merge master into master feat(install-helper): 批量卸载 Skills/Plugins 功能 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ### 概述 本次改动为 install-helper 新增批量卸载 Skills/Plugins 功能(v1.1.7),覆盖交互式勾选卸载、一键全量卸载、按安装批次卸载三种模式,并修复多项卸载相关问题。 #### 新特性 New Features - 【安装部署】install-helper uninstall 交互式批量卸载:自动检测已安装内容,跳过单一选项步骤,≤15 个已安装 Skill 显示扁平列表,>15 个按类别导航。勾选=卸载(标准 checkbox 语义),支持跨类别累积选择。 - 【安装部署】install-helper uninstall --all 一键卸载全部已安装 Skills 和 Plugins。通过 --tool / --level 限定范围,未指定时默认 project 级别。 - 【安装部署】install-helper uninstall --recent 按安装批次卸载:每次 install-helper install 自动记录安装批次(SkillBatchRecord),--recent 精确卸载最后一批,不影响更早安装的内容。旧记录(无 batches 字段)向后兼容,返回 null 提示。 - 【安装部署】交互式卸载自动跳过逻辑:仅一个工具有内容时跳过工具选择,仅一个级别有内容时跳过级别选择。尊重用户显式传入的 --tool/--level(区分 CLI 默认值与用户意图)。 #### 特性增强 Feature Enhancement - 【安装部署】verifyPluginFilesExist() 改为任意组件(skills/agents/config/manifest)存在即返回 true,避免 skills 被单独卸载后 plugin 无法检测。 - 【安装部署】getInstalledSkills() 新增文件系统扫描 fallback:当 skills.json 记录缺失时,扫描 skills/ 目录下的 symlink 发现已安装 skill。仅识别 symlink(install-helper 安装方式),不识别普通目录(个人 skill 安全)。 - 【安装部署】scanInstalledFiles() 新增 configRootConfigLink 参数,project 级别时额外记录 configRoot 内的配置文件(如 .opencode/AGENTS.md),确保卸载时完整清理。 - 【安装部署】uninstallPluginById() 新增 manifest-based 回退清理:当 readRecord() 返回 null(无安装记录)时,遍历所有 VALID_TOOLS × levels 查找 ${pluginId}-manifest.json,用 scanInstalledFiles() 重建临时 record 执行完整清理。 - 【安装部署】卸载 UI 优化:类型选择显示已安装数量(如"卸载 Skills (3)"),步骤编号与安装流程保持一致,文案改为动作导向("卸载全部"而非"全不选(标记全部卸载)")。 #### 问题修复 Bug Fix - 【安装部署】修复 verifyPluginFilesExist() 要求 skills + agents + config 全部存在才返回 true 的问题。skills 被单独卸载后函数返回 false → plugin 不被检测为已安装 → agents/manifest/AGENTS.md 残留且无法清理。 - 【安装部署】修复 verifyPluginFilesExist() 未检查 agent .md 扩展名的问题。所有 agents 实际都是 .md 文件,但检测代码只检查 agentId 不检查 agentId + ".md",导致 agents 存在时检测失败。 - 【安装部署】修复 scanInstalledFiles() 未记录 configRoot 级别配置文件(.opencode/AGENTS.md)的问题。configRootConfigLink: true 的插件安装时创建两个 symlink,但记录只记一个,卸载时残留。 - 【安装部署】修复 addSkillsToRecord() 重复安装已存在 skill 时创建空 batch 的问题。newSkills 为空时 fallback 到 [...skillIds] 记录全部,导致 --recent 误卸载未实际安装的 skill。 - 【安装部署】修复 uninstallInteractive() 中 --tool/--level CLI 默认值被当作用户意图的问题。--level 默认值 "project" 导致多级别有内容时自动跳到 project,忽略 global 中的内容。 - 【安装部署】修复 uninstallPluginById() 在 readRecord() 返回 null 时直接退出不清理实际文件的问题。通过 --all 安装 skills 路径安装的 plugin 无安装记录,卸载时提示"未找到安装记录"但文件残留。 - 【安装部署】修复交互式卸载"全不选"选项死循环问题(beta.1 → beta.2 修复)。 - 【安装部署】修复 uninstall_interactive_title 文案与勾选语义矛盾问题("取消勾选要卸载的项" → "勾选要卸载的项")。 - 【安装部署】修复 getInstalledSkills() FS 扫描不区分 symlink 来源的问题。--all --yes 模式禁用 FS 扫描,避免用户手动创建的 symlink 在跳过确认时被误删(数据丢失风险)。--all(无 --yes)和交互模式仍启用 FS 扫描,用户可在确认提示中审查。 - 【安装部署】修复 getLastBatchSkills() 测试在 process.cwd()/.opencode 下创建目录污染项目环境的问题。改用 testDir 作为 getConfigRoot base 参数,清理逻辑移入 finally 块。 ## 关联的Issue 无特定 Issue。本次改动源于用户反馈:"不小心全装了所有 skill,怎么批量卸载"。 ## 测试 ### 单元测试 - 187 个单元测试全部通过(18 个测试文件),含 11 个新增测试: - record.test.ts:batch 追踪(创建/分离/获取最后批次/清理空 batch/旧记录兼容)— 7 个 - uninstall.test.ts:CLI 选项验证(--all/--recent/--yes/names 可选)— 4 个 - tsc --noEmit 类型检查 0 错误 ### 端到端测试矩阵(T1-T35,27 项全部通过) | 类别 | 测试项 | 结果 | |------|--------|------| | 基础功能 | T1 安装+batches、T3 --all、T5 --recent、T10 name 驱动 | ✅ | | 安全性 | T13 个人 skill(普通目录)不被误删、T14 无记录 FS 扫描 | ✅ | | 多工具 × 多位置 × 多内容 | T20-T27(2 工具 × 2 位置 × 2 内容类型 = 8 组合) | ✅ | | 交叉隔离 | T28 跨工具、T29 跨级别、T30 skill+plugin 混合 | ✅ | | 无记录回退 | T32 opencode/project、T33 claude/global manifest 回退清理 | ✅ | | name 驱动隔离 | T34 同名 skill 跨工具 | ✅ | | 混合内容 | T35 plugin+独立 skill+个人 skill | ✅ | | 其他 | T6 --recent 无历史、T7 旧记录兼容、T12 确认提示可取消 | ✅ | ### 回归测试 - install-helper list / status / doctor / install / uninstall <name> 全部正常 - npm 正式版 1.1.6 安装验证通过(平台二进制 + JS fallback) ## 文档更新 - plugins-community/install-helper/README.md: - 命令一览表新增 uninstall(交互式)、uninstall --all、uninstall --recent - 重写"卸载"章节:交互式卸载流程说明、--all 一键卸载、--recent 批次卸载、安全机制说明、选项表 ## 类型标签 - [x] 🌟 新特性 - [x] ✨ 特性增强 - [x] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [x] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 无 See merge request: cann/cannbot-skills!678 | 12 小时前 | |
move easy dsl to plugins community Co-authored-by: jon_jin<jinjiong@hisilicon.com> # message auto-generated for no-merge-commit merge: !308 merge feature/move-easydsl-to-plugins-community into master move easy dsl to plugins community Created-by: jon_jin Commit-by: jon_jin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述您的改动,包括改动的原因和所采取的方法。 ### 举例: #### 新特性 New Features - 【仿真 ops-simulator】新增Ascend 950 仿真Skill:支持 Ascend 950 仿真,并且输出性能分析报告和流水线图。 - 【PyPTO】【pypto-op-design】新增 Skill:pypto-op-design,PyPTO算子方案设计,含快速参考和设计模板。 #### 问题修复 Bug Fix 【算子直调 ops-direct-invoke】修改verify_environment.sh脚本,返回environment.json 固定为1的bug,应该按实际设备的npu count返回。 --> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!308 | 1 个月前 | |
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 | 3 天前 | |
feat: 新增 MC² 通算融合算子性能优化能力 Co-authored-by: yufang<yufang11@huawei.com> # message auto-generated for no-merge-commit merge: !656 merge mc2perf_skill into master feat: 新增 MC² 通算融合算子性能优化能力 Created-by: yufang11 Commit-by: yufang Merged-by: cann-robot Description: ## 描述 为 ops-perf-optimize 插件新增 MC² 通算融合算子(通信+计算融合)的完整性能优化能力,覆盖从数据采集、Bound 诊断、流水配平搜索到方案实施的全流程。 新增能力: - 隔离测试与 Bound 诊断:通过 tileCnt=1 下注释通信/计算 process,实测 T_comm 和 T_compute,计算 R 值精确判定 Bound 类型(计算 Bound / 通信 Bound / 完美平衡) - Local Matmul 策略:将本 rank 数据(无需通信)的 matmul 独立前置/后置执行,与首次通信重叠,隐藏通信延迟 - 流水配平系统搜索:基于 TilingData(baseM/baseN/usedCoreNum)和 R 值,在配平可行域内执行四条剪枝规则的系统搜索,输出 Top-N 候选切分方案供 msprof 实测择优 - 膨胀分析:评估切分粒度对计算膨胀(流水中断、核利用率)和通信膨胀(头开销、带宽)的影响 - 均分切分兜底算法:当缺少隔离测试数据时,提供满核+最多切分的稳健基线 - MC² 实现层设计指南:提供 TilingData 结构、Host 侧搜索代码、AIC/AIV 核心循环、长短块切换同步等实施细节 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/456 ## 测试 在 Ascend 950 (dav-3510) 4P 环境下完成两个 MC² 算子的端到端调优验证: ### allgather_matmul(AllGather + MXFP8 量化 Matmul,12 cases): - 最佳方案:Local Matmul + 流水配平,几何平均加速比 1.44x,12/12 case 全部提升 - 最佳单 case 加速比 1.72x(m=4040, n=2560) - 掩盖率:计算 Bound 组均值 0.82,强计算 Bound 组均值 0.90 - 精度验证:36/36 PASS MC² allgather_matmul 性能指标(加速比与掩盖率) > 基于 Step 1 隔离测试的 T_comm / T_compute,按 /ascendc-perf-optimize 的 comm-compute/index.md 性能指标公式核算。 > 加速比 = 基线T / 优化后T;掩盖率 = (基线T - 优化后T) / min(T_comm, T_compute) | Case | 基线T(us) | T_comm(us) | T_compute(us) | min(T_comm,T_compute) | 方案1最优T(us) | 加速比 | 掩盖率 | |------|---------|----------|-------------|---------------------|-------------|--------|--------| | 1 | 233.20 | 111.48 | 126.28 | 111.48 | 155.84 | 1.50 | 0.69 | | 2 | 432.55 | 111.82 | 325.01 | 111.82 | 330.07 | 1.31 | 0.92 | | 3 | 466.61 | 213.30 | 257.75 | 213.30 | 287.65 | 1.62 | 0.84 | | 4 | 855.15 | 211.85 | 652.39 | 211.85 | 656.56 | 1.30 | 0.94 | | 5 | 504.60 | 232.51 | 275.22 | 232.51 | 314.27 | 1.61 | 0.82 | | 6 | 918.71 | 234.88 | 698.50 | 234.88 | 721.73 | 1.27 | 0.84 | | 7 | 565.84 | 262.03 | 307.41 | 262.03 | 355.04 | 1.59 | 0.80 | | 8 | 1048.28 | 263.69 | 793.80 | 263.69 | 819.71 | 1.28 | 0.87 | | 9 | 699.20 | 311.39 | 401.63 | 311.39 | 408.32 | 1.71 | 0.93 | | 10 | 1248.26 | 314.20 | 947.37 | 314.20 | 940.22 | 1.33 | 0.98 | | 11 | 893.35 | 395.76 | 503.94 | 395.76 | 518.31 | 1.72 | 0.95 | | 12 | 1597.91 | 396.57 | 1213.94 | 396.57 | 1262.62 | 1.27 | 0.85 | > Group A(compute bound)平均掩盖率 0.82,Group B(strong_compute bound)平均掩盖率 0.90。Group B 掩盖率更高因为通信时间小(T_comm << T_compute),min(T_comm, T_compute)=T_comm,而优化节省的绝对时间占 T_comm 比例大,通信几乎被完全掩盖。 ### all_to_all_matmul(AllToAll + MXFP8 Matmul,6 cases): - 最佳方案:流水配平 + Local Matmul,几何平均加速比 1.15x,6/6 case 全部提升 - 最佳单 case 加速比 1.27x(m=2080) - 掩盖率从基线均值 34.6% 提升至 66.9%(+32pp) - 精度验证:18/18 PASS #### 基线性能指标 | Case | m | 融合前(us) | 基线TaskDur(us) | 基线加速比 | 基线掩盖率 | |------|---|-----------|----------------|-----------|-----------| | 1 | 2624 | 387.117 | 345.614 | 1.1200 | 0.2983 | | 2 | 3136 | 456.656 | 397.613 | 1.1485 | 0.3652 | | 3 | 4096 | 589.386 | 486.867 | 1.2107 | 0.4939 | | 4 | 2080 | 318.524 | 289.713 | 1.0994 | 0.2500 | | 5 | 1010 | 167.587 | 149.285 | 1.1225 | 0.2897 | | 6 | 2304 | 342.614 | 295.048 | 1.1612 | 0.3822 | #### Opt2(最佳方案)性能指标 | Case | m | 融合前(us) | Opt2 TaskDur(us) | Opt2 加速比(vs融合前) | Opt2 加速比(vs基线) | Opt2 掩盖率 | |------|---|-----------|-----------------|---------------------|-------------------|------------| | 1 | 2624 | 387.117 | 304.701 | 1.2704 | 1.1343 | 0.5924 | | 2 | 3136 | 456.656 | 334.422 | 1.3654 | 1.1890 | 0.7549 | | 3 | 4096 | 589.386 | 432.327 | 1.3633 | 1.1262 | 0.7552 | | 4 | 2080 | 318.524 | 227.819 | 1.3982 | 1.2717 | 0.7864 | | 5 | 1010 | 167.587 | 131.946 | 1.2702 | 1.1314 | 0.5639 | | 6 | 2304 | 342.614 | 272.749 | 1.2562 | 1.0818 | 0.5608 | #### Opt3 性能指标 | Case | m | 融合前(us) | Opt3 TaskDur(us) | Opt3 加速比(vs融合前) | Opt3 加速比(vs基线) | Opt3 掩盖率 | |------|---|-----------|-----------------|---------------------|-------------------|------------| | 1 | 2624 | 387.117 | 305.450 | 1.2672 | 1.1315 | 0.5870 | | 2 | 3136 | 456.656 | 348.026 | 1.3124 | 1.1425 | 0.6711 | | 3 | 4096 | 589.386 | 435.876 | 1.3522 | 1.1170 | 0.7381 | | 4 | 2080 | 318.524 | 251.150 | 1.2683 | 1.1535 | 0.5841 | | 5 | 1010 | 167.587 | 125.811 | 1.3321 | 1.1866 | 0.6606 | | 6 | 2304 | 342.614 | 256.114 | 1.3377 | 1.1520 | 0.6948 | **alltoallMatmul 掩盖率提升**: - 基线掩盖率:25%~49%(平均 34.6%) - Opt2 掩盖率:56%~79%(平均 66.9%),提升约 32 个百分点 - Opt3 掩盖率:58%~74%(平均 65.6%),提升约 31 个百分点 ## 文档更新 无需额外文档更新,变更本身即为 skill 文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [x] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!656 | 1 天前 | |
create ops-qa-suite capacity Co-authored-by: StoneChan_<chensitong2@huawei.com> # message auto-generated for no-merge-commit merge: !281 merge dev520 into master create ops-qa-suite capacity Created-by: StoneChan_ Commit-by: StoneChan_ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述您的改动,包括改动的原因和所采取的方法。 ### 举例: #### 新特性 New Features - 【仿真 ops-simulator】新增Ascend 950 仿真Skill:支持 Ascend 950 仿真,并且输出性能分析报告和流水线图。 - 【PyPTO】【pypto-op-design】新增 Skill:pypto-op-design,PyPTO算子方案设计,含快速参考和设计模板。 #### 问题修复 Bug Fix 【算子直调 ops-direct-invoke】修改verify_environment.sh脚本,返回environment.json 固定为1的bug,应该按实际设备的npu count返回。 --> Ascend C 算子仓库(ops-math、ops-nn、ops-transformer、ops-cv)的质量检测,提供从扫描、分析、测试执行、修复到报告生成、Issue 创建的全生命周期质量检测能力 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> #223 ## 测试 <!--描述进行了哪些测试来验证您的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!281 | 1 个月前 | |
add science-model-npu-migration Co-authored-by: ldl353<1531225033@qq.com> # message auto-generated for no-merge-commit merge: !438 merge master into master add science-model-npu-migration Created-by: ldl353 Commit-by: ldl353 Merged-by: cann-robot Description: 本 PR 向 plugins-community 新增社区 Skill science-model-npu-migration,面向华为 Ascend(昇腾)框架下的科学模型原生代码级 NPU 迁移 场景,覆盖从信息收集、可行性预判、环境门禁、代码适配,到精度/性能评测与 mig_docs 交付归档的完整闭环。 核心文件: SKILL.md — 技能入口、触发词、执行约定、分册索引 manifest.json — 结构校验清单(required_files) references/overview.md — 快速开始与三条执行路径 references/workflow.md — 端到端流程、Mermaid、闭环检查、一致性矩阵 references/part-01 ~ part-09 — 分册正文(渐进式披露) references/reference-code-patterns.md — CUDA→NPU 代码模式对照 references/mig_docs/ — 目标工程交付模板(Summary.md、working/ 过程文档等) 迁移主线: part-01 → 02 → 03 → 04 → 05 → 08,产出 environment.md、Mig_report、Compare、Summary.md 等标准交付物。 适用: CUDA / 其他 GPU 栈 → 昇腾的 训练/推理代码迁移 环境门禁、依赖与脚本适配、smoke 验证 精度/性能对比与 mig_docs 标准化归档 「检查 NPU 适配情况」快速路径(part-03 门禁) See merge request: cann/cannbot-skills!438 | 22 天前 | |
fix(docs): 清理全仓库 ops-lab/ 历史废弃目录的残留引用 Co-authored-by: jiangyixuan2<124090275@link.cuhk.edu.cn> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !645 merge fix/issue-435-remove-ops-lab-refs into master fix(docs): 清理全仓库 ops-lab/ 历史废弃目录的残留引用 Created-by: jiangyixuan2 Commit-by: gitcode-bot;jiangyixuan2 Merged-by: cann-robot Description: ### 描述 ops-lab/ 为历史废弃目录,此前已被整体移除,但全仓库仍有大量文件残留对该目录的引用(目录结构图、路径引用、扫描配置、脚本逻辑等),误导用户。本次统一清理这些失效引用。 ### 修改范围 15 个文件,+23/-32 行。 #### 一、目录结构图与规范表(删除 ops-lab/ 条目) | 文件 | 修改 | |------|------| | README.md | 删除目录结构图中 ├── ops-lab/ 行 | | AGENTS.md | 删除目录结构图中 ├── ops-lab/ 行 | | docs/architecture-design.md | 删除目录结构图中 ├── ops-lab/ 行 | | docs/STANDARDS.md | 删除目录规范表中 ops-lab/ 行 | | docs/CONTRIBUTING.md | 删除"实验性 Skill"整行(原指向 ops-lab/)| #### 二、ST 测试指南 | 文件 | 修改 | |------|------| | tests/system/docs/ST_DESIGN_AND_DEVELOPMENT_GUIDE.md | 删除 skill_dirs 配置中 "ops-lab";§3.9 标题由 ops-lab/ 改为 ops/ — TileLang 算子开发,5 个 TileLang skill 路径由 ops-lab/tilelang/skills/xxx 改为实际位置 ops/xxx | #### 三、其他文档 | 文件 | 修改 | |------|------| | ops/ascendc-registry-invoke-template/references/binary-json-dtype-guide.md | 删除"ops-lab 模板不适用"说明 | | plugins-community/tilelang2ascendc-ops-generator/quickstart.md | 修正错误目录名 ascendc-ops-lab-developer → tilelang2ascendc-ops-generator | #### 四、代码与配置(移除 ops-lab 扫描目录与处理分支) | 文件 | 修改 | |------|------| | infra/cannbot-skill-reviewer/scripts/review_skill.py | 路径前缀元组移除 "ops-lab/" | | plugins-community/install-helper/scripts/gen-embedded.cjs | SCAN_DIRS 移除 "ops-lab" | | plugins-community/install-helper/src/config/repository.yaml | scanDirs 移除 - ops-lab | | plugins-community/install-helper/src/core/scanner.ts | 默认 skillDirs 移除 "ops-lab"(2 处)| | plugins-community/tilelang2ascendc-ops-generator/init.sh | 删除 ops-lab 目录检查块、移除 SHARED_SKILL_ROOT_OPS_LAB 变量及 5 个 for 循环引用 | | tests/run-tests.sh | 注释移除 ops-lab/*/skills/ 模式 | #### 五、变更日志 | 文件 | 修改 | |------|------| | CHANGELOG.md | 新增 2026-07-20 清理 ops-lab 记录(历史记录中的 ops-lab 引用保持原样)| ## 关联 Issue Issue [#435](https://gitcode.com/cann/cannbot-skills/issues/435) See merge request: cann/cannbot-skills!645 | 3 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 天前 | ||
| 8 天前 | ||
| 3 天前 | ||
| 3 天前 | ||
| 4 小时前 | ||
| 12 小时前 | ||
| 1 个月前 | ||
| 3 天前 | ||
| 1 天前 | ||
| 1 个月前 | ||
| 22 天前 | ||
| 3 天前 |