Skip to content
cccskills
FreePublished on GitHub

performance-optimization

优化域入口(L2):拿到**已明确的瓶颈点 / 瓶颈标签**后,按标签把任务**分发**到四个优化模块 (DiT 计算 `dit-perf-opt` / DiT 通信 `dit-parallel-opt` / VAE `vae-opt` / host `host-opt`),并给出域内**最小前置集**与**域级验收口径**(性能入库口径引 `perf-gate`、精度判据引 `accuracy-gate`)。

**本技能不再承载选档与实施内容**(Step 2–4 闭环、特性档位选择、组合试验已全部归 `dit-perf-opt`)。入口信号(任一即可触发):① 用户或编排层已给出**瓶颈点/瓶颈标签**("瓶颈已经明确,按这个点优化"); ② **框架侧特性没落地**(该开的开关/特性没开,需要先判走哪个模块)。

near-miss(看似相关但不属本技能): - **瓶颈未明**("这个模型怎么加速""怎么跑通""采个 profile",还要先定位)→ 先走 `model-auto-optimization`(唯一有分析权的一方),本入口**不接受未定位的任务**。

- 问"要不要开量化、开哪一档""量化/稀疏/Cache 怎么选怎么开" → `dit-perf-opt`(选档与实施在模块层)。- 多卡并行形态 / 通信掩盖 / TP·offload → `dit-parallel-opt`;VAE·TAE 解码段 → `vae-opt`;交付搬运 / 装载预热等固定开销 → `host-opt`。

- 需要改本仓代码(pattern / 算子 / 测试 / 文档)→ `dev-workflow`。由 model-auto-optimization 的阶段路由与用户直接声明瓶颈两条路径触发。

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md8.6 KB
  • evals/evals.json3.2 KB
  • references/dispatch-table.md4.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

优化域入口(分发与前置)

定位

本技能是优化域入口(L2):唯一职责是把已明确的瓶颈点分发给正确的模块,并把域内的 前置集与验收口径固定下来。层级依据:L3 模块不放"业务顺序 / 门禁节奏 / 走哪个模块的姿势 决策",这些正归 L2 入口;"选哪个特性档"是能力选择,归 L3 模块。

本技能不做的事:不定位瓶颈(归 model-auto-optimization)、不做占比与门限分析(归 model-auto-optimization 的阶段账)、不选特性档位 / 不开特性 / 不做组合试验(全部归各模块)、 不定义验收标准(归两个验收标准技能)。

0. 入口信号

进入本入口(任一):

#信号说明
①瓶颈点已明确用户带一句实测锚点声明,或编排层已交付瓶颈标签
②框架侧特性没落地该开/该验的特性开关未使能,需先判"走哪个模块把它落地"

不进入本入口(先做别的):

  • 瓶颈未明 → model-auto-optimization(编排层是唯一有分析权的一方)
  • 要改本仓代码 → dev-workflow
  • 只要单算子实现级实测对比 → benchmark-dev

1. 输入:瓶颈标签(只消费,不定义)

唯一输入是瓶颈标签。标签枚举(DiT-计算受限 / DiT-通信受限 / 非DiT-解码段 / 非DiT-host段 / 一致性不达标)与门限口径(含 10% 门限的分母 / 测点 / 步数档)单一真源为 model-auto-optimization/references/bottleneck-labels.md。

本技能只引用不复制:不在本文件另列标签表、不另写门限数字——两处定义必然漂移。 标签之外的细分类(MatMul / Attention / Norm / 生效判据…)由对应模块在域内自行映射。

2. 分发路由(入口核心动作)

按标签 → 模块 → 产物 → 验收判据查 references/dispatch-table.md。

瓶颈标签分发目标
DiT-计算受限dit-perf-opt(需要新能力时再走 pattern-dev / operator-dev)
DiT-通信受限dit-parallel-opt
非DiT-解码段vae-opt
非DiT-host段host-opt
一致性不达标accuracy-gate(判据)→ 排障

分发后由模块负责实施与自证生效;本入口不重复模块内的步骤,只在模块回流"需要新能力 / 需要改框架 / 瓶颈判定有误"时改道或退回编排层。

标签缺失或与实测不符(模块复工发现真正瓶颈在别处)→ 退回 model-auto-optimization 重新定位,不得在本入口内改判标签。

3. 最小前置集

三项全满足才可开工,缺任一 → 退回 model-auto-optimization 走 S0:

  1. 环境可用:import mindiesd 成功,或目标框架可 serve;
  2. 模型已跑通一轮:端到端可产出结果(不是"能 import"就算);
  3. 有 baseline 数字:同口径的端到端 / 阶段账基线(无基线则后续任何收益都不可归因)。

不含 S0 的安装与权重准备(那归 env-install);本入口不代做环境安装。

4. 锚点要求(防"优化错对象")

用户直接声明瓶颈时必须带一句实测锚点——阶段账某一行、或某 kernel 的占比读数。 理由:声明与实测常不符(常见误判:用户报"解码慢",按 step_trace_time 分解后瓶颈常在 DiT 段—— 占比须现场实测)。

  • 有锚点 → 按锚点映射标签(映射口径见 bottleneck-labels.md),进入 §2 分发;
  • 无锚点 → 退回 model-auto-optimization 做定位,不由本入口自己猜,也不凭"感觉慢"选档。

编排层交付的标签同样附锚点,便于复核与回溯。

5. 域级验收口径

分发出去的任务,回流时按本节口径收口(口径本身归各标准技能,本入口只固定"必须过哪几关"):

  • 性能:库内数字一律按 perf-gate 的同窗 A/B 口径取;跨窗口绝对值不可比; 只有验收结果才能写入总览表(报表契约见 model-auto-optimization/references/report-contract.md)。
  • 噪声门限:与基线差距 < 3% 视为噪声,不下结论(阈值在本技能单点维护,其它技能只引用)。
  • 精度:未使用有损特性时一致性验收强制调用 accuracy-gate(三级:逐位 → 跨配置数值门 + md5 → 质量门);有损项另过质量门 (../accuracy-gate/references/quality-gate.md + 仓库 evals/)。
  • 一致性不达标(标签 一致性不达标)→ 由 accuracy-gate 给判据,再转对应对象的 troubleshooting-{对象}.md 排障流程。

停止条件(域级口径,单点维护于本技能)

满足任一条件即停止优化循环:

  1. 目标达成: MindIE-SD compiled 在目标硬件上已满足性能预期
  2. 噪声范围: 与 baselines 差距 < 3%,继续优化无统计意义
  3. 外部瓶颈: 根因在 CANN / TorchNPU / HCCL 而非 MindIE-SD 代码
  4. 硬件瓶颈: 已改善但受限于 NPU 物理显存 / 带宽上限

6. 独立触发时的交付物

用户直接给瓶颈点、不经编排层时,本入口产出域级优化报告:瓶颈锚点 + 分发结论 + 各模块产物 指针 + 验收结论。若要进 model-auto-optimization 的总览表,按编排层契约(报表结构 / 白名单 / [profile].domain 记法)回填,收口方写清。

Reference Files

  • references/dispatch-table.md — 加载时机: 拿到瓶颈标签、决定分发目标与验收判据时 (标签 → 模块 → 产物 → 验收口径;路由含域外标准技能)
  • ../model-auto-optimization/references/bottleneck-labels.md(跨技能,单一真源)— 加载时机: 需要标签枚举原文或 10% 门限口径时(只引用,不复制)
  • ../accuracy-gate/references/quality-gate.md(跨技能,质量门本体归属精度验收标准)— 加载时机: 有损项 / 闭环端到端质量判定时(定量 + 视觉伪影 + off-identity;判定标准与工具在 仓库 evals/)
  • ../perf-gate/SKILL.md(跨技能)— 加载时机: 报数、入库与验收口径核对时
  • dit-perf-opt/SKILL.md(域内模块,非本 skill 文件)— 加载时机: 确认"DiT 计算侧选档/组合试验/ 5 步闭环"的具体内容时(入口不再复述)

维护与更新

  • 触发:优化模块增减 / 改名、瓶颈标签枚举或门限口径调整、验收标准接线变化时更新本 skill 与 references/dispatch-table.md;改名时本入口的模块名清单与 dispatch-table.md 必须同步。
  • 校验:新增标签须同时出现在 bottleneck-labels.md、本入口分发表与 dispatch-table.md,否则视为孤儿标签。
  • 与 dit-perf-opt 的 description 必须互斥:入口只讲分发/前置/锚点/验收,选档与实施描述只在模块侧出现。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

**精度验收标准**:凡是"改动不应改变结果"的场合(等价替换、算子/子模块融合、并行切分、 编译与图下发、拷贝消减),都按本标准判"合格 / 不合格"——等价分层(L1 逐位 / L2 数值门 / L3 有损门)+ 三级验收序(① 同配置重跑逐位 → ② 跨配置数值门 + 产物 md5 不变 → ③ 质量门)+ 判据不达标时的排障入口。当用户说"这个算子能不能换个写法/换个 kernel/等价实现/ 无损替换""替换后结果会不会变""怎么证明逐位一致""结果不对""花屏""尾部塌了" "CPU 跑对 NPU 跑不对",或发现某个 hotspot 占了大头(例如某类算子在阶段里占 90% 以上)想动手时, 都应触发;即使用户只说"这样改有没有把结果改坏""能不能判它是无损的"也应触发。 覆盖:等价分层与判据、满足本标准的实现约定(per-shape 对拍写进实现,把索引/相位/顺序类重写 错误在首次调用抓住)、per-shape 条件性等价(同一改动在不同形状下结论可能不同)、 判据不达标 → `references/silent-failure-localization.md` 排障入口、否决案例的形态学 (换写法未换 kernel / 差异极小仍非逐位 / 等价但 OOM)、以及收益口径的归属(性能数字一律交 `perf-gate`)。 **近义分流**:选量化档 / 特性选档(要不要开量化、开哪一档)→ `dit-perf-opt`; 并行选型(USP / CP / TP 怎么切)→ `dit-parallel-opt`;本技能只判"结果是否被改变", 不负责选档与选型。

The English summary is being prepared. Showing the original description.

Ascend/MindIE-SD15Updated Oct 17, 2026

NPU 图批量下发能力(aclgraph / aclgraph_ex 家族)的开发与调优。覆盖 mindiesd 的 aclgraph_backend:NPUGraph 静态 capture、全局 graph pool、 lazy capture、专用 copy stream + event 管线、shape/dtype 校验、max_entries 驱逐。 当用户需要减少 host launch 开销、静态 shape 大 batch 场景加速、 或排查 NPUGraph replay 输入不匹配问题时使用此 skill。 即使用户只提"批量下发""graph capture""图捕获"而未说 aclgraph,也应触发; pattern/Inductor 融合(default 后端)见 pattern-dev,算子本体见 operator-dev, 本技能只覆盖图批量下发。由 dev-workflow 的编译开发阶段与 model-auto-optimization 的 图下发场景指引加载。

The English summary is being prepared. Showing the original description.

Ascend/MindIE-SD15Updated Oct 17, 2026

MindIE-SD 核心算子(FA/BSA/GMM/MM)性能基准工具链。使用:模型优化(model-auto-optimization 的 S1/S4 选型)中用 mindie_bench 对单算子做实现级实测,按 dtype/量化档/稀疏度/形态对比 选出最优配置(产物:选型证据;稀疏度-性能曲线供 S4 稀疏度选型);开发:benchmarks/ 工具链扩展与新算子接入测试(供 operator-dev / pattern-dev 调用)。 当用户需要对比算子实现选型、新增或修改 benchmark 代码、排查 benchmark 数据异常、 给基准加算子/指标时使用;即使用户只说"benchmark 数据不对""给基准加个算子" "对比下这几个 FA 实现哪个快"也应触发;特性级方案选档请走 dit-perf-opt (本 skill 只做实现级实测)。 由 model-auto-optimization 的 S1/S4 选型场景与 operator-dev 的算子接入验证场景调用, 亦由 dev-workflow 在基准开发时指引加载。

The English summary is being prepared. Showing the original description.

Ascend/MindIE-SD15Updated Oct 17, 2026

MindIE-SD Python 代码格式与 lint 规则。当编写、格式化、lint 检查或审查 MindIE-SD 项目的 Python 代码时使用此 skill。 即使用户只提到"提个MR"或"代码好像有 lint 问题"而未明确说格式化,也应触发;Markdown 格式问题见 markdown-lint,提交/PR 规范见 mindie-sd-community-governance。 通常由 dev-workflow 在编码阶段指引加载。

The English summary is being prepared. Showing the original description.

Ascend/MindIE-SD15Updated Oct 17, 2026

MindIE-SD 仓库开发总入口(侧轨)。当用户进行 MindIE-SD 的任何代码开发工作时使用此 skill—— 包括但不限于写 pattern、改测试、部署到昇腾、跑 benchmark、性能分析、多卡并行、复盘归档。 模型/三方框架自动优化类任务(非本仓代码改动)由 model-auto-optimization 入口承接, 本入口只在优化流程需要新增 pattern/算子/部署代码时承接其指向的开发子任务。 即使用户未明确提到"开发流程",只要涉及 MindIE-SD 代码改动都应触发。

The English summary is being prepared. Showing the original description.

Ascend/MindIE-SD15Updated Oct 17, 2026

分布式并行策略选型与实测(USP / CP 通信掩盖 / CFG / TP/RSP/PP 概览;含拓扑相关选型 (按实测拓扑分域条件化:域内 bulk vs 跨域 head-parallel 翻转)与 AlltoAllV 缺陷绕过)。在 model-auto-optimization 中承担 S3:优先 USP、结合拓扑带宽差异选 CP,少量 step + 多 rank 验证特性开启与掩盖(产物:并行方案 + 多 rank 证据)。当用户需要多卡并行 策略选择、**序列并行形态抉择**(纯 Ulysses vs 复合 AllGather-KV×Ulysses:按 GQA / 跨域带宽 / 形态 plumbing 条件化定胜负)、**并行 × 稀疏叠加**(seam 契约:先汇聚后稀疏、 窗口偏移、块对齐、per-head 掩码;含「稀疏看似生效实则未生效」判定)、通信掩盖调优 (含**掩盖率上限**:1-1/n 何时成立、c/f 决定的真实上限、没生效的排查)、**并行方案 差异归因**(阶段 Δ 分解 / 集合通信按 communicator 归属 / 4→8 卡线性度),或排查多卡 跑不动 / 通信暴露大 / 换卡组 / 端口 bind / HCCL 带宽验证问题时使用;**并收编原并行作用域诊断**: 改了 SP/CP/Ulysses/AllGather-KV 后**不报错但结果没变/性能没变**、或小规模能跑大规模崩 (如 Ascend EE1003 coreDim 超限)时,用本技能证明"改动到底有没有生效"(判别量逐层收窄 + 两侧对照 + 日志≠生效,见 `references/scope-effectiveness-check.md`); 即使用户只说 "多卡跑不动""通信暴露大""为什么没达到 6/7 的掩盖率""CP 和 USP 该选哪个""CP 叠稀疏 怎么不生效"而未说并行,也应触发。特性档位/接口事实见 `docs/zh/features/parallelism.md` /`usp.md`(仓内真源),框架侧开启见 framework-integration; 本技能承载选型决策、monkey-patch 掩盖与多卡诊断实测。 由 dev-workflow 多卡场景触发,亦由 model-auto-optimization 的 S3 阶段触发。

The English summary is being prepared. Showing the original description.

Ascend/MindIE-SD15Updated Oct 17, 2026

See all skills by Ascend

Report a problem with this skill