Skip to content
cccskills
FreePublished on GitHub

host-opt

host / 辅助段优化模块(L3):把**非 DiT、非解码段**的固定开销落成可复验的优化—— ① 交付与搬运(mp4/图片编码、worker→API 通路、落盘、异步化); ② 装载与预热(权重加载、编译与图下发预热、镜像/容器预热)。

当用户说“mp4 编码/传输/落盘慢”“交付这段占了不少时间”“模型加载慢”“首启编译太久” “固定开销占比高”“每个请求都要重新编码/重新写盘”时使用。

**入口条件**:占比已达门限(瓶颈标签 `非DiT-host段`;标签枚举、门限与测点口径的单一真源在 model-auto-optimization/references/bottleneck-labels.md,本技能只消费不定义)。

near-miss(看似相关但不属本技能): - **并发 / 吞吐 / 批处理调度 / 队列深度与限流** → **不属本技能**(会改变所有性能口径与 SLO 语义, 未来独立立项;本技能只在**不改变请求并发模型**的前提下压固定开销); - VAE/TAE 解码段(计算或通信)→ `vae-opt`;DiT 计算 → `dit-perf-opt`; 多卡并行 / 通信掩盖 → `dit-parallel-opt`; - **装库 / 下载权重 / 构建镜像 / 创建容器** → `env-install`(本技能只优化装载与预热**过程本身**); - 编译与图下发的**机制本体**(pattern / Inductor / NPUGraph / 图 pool / 缓存条目)→ `pattern-dev` / `aclgraph-dev`(本技能不另做一套缓存); - 产物一致性与精度判据 → `accuracy-gate`;收益口径 → `perf-gate`; - 瓶颈未定位 / 没有占比锚点 → `model-auto-optimization`。

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

See how to install

Files included (3)

  • SKILL.md12.4 KB
  • evals/evals.json6.6 KB
  • references/host-overhead-account.md6.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

host / 辅助段:固定开销优化

定位

本技能是优化域的 host(辅助段)模块:输入是已定位且达门限的 host 固定开销(标签 非DiT-host段), 输出是可复验的固定开销下降。范围两块,二者的生命周期不同,必须分开记账、分开验收:

段含典型形态
交付与搬运(每请求)媒体编码(mp4 / 图片)、worker→API 通路(进程内拷贝 / 队列 / 共享内存 / HTTP 分片)、落盘与回读、异步化生成结果在返回给调用方之前被编码 / 搬运 / 写盘,串在关键路径上
装载与预热(每进程 / 首启)权重加载(读盘 → 宿主内存 → 设备)、编译与图下发预热、镜像与容器预热服务首启或首个请求时才付这些成本,之后每次请求都省不到

不含(near-miss):并发 / 吞吐 / 批处理调度 / 队列与限流(不属本技能); VAE / TAE 解码段(→ vae-opt);DiT 计算(→ dit-perf-opt); DiT 步内的 host / 下发(发起次数、host 阻塞型回读、下引发的设备空转 → dit-perf-opt; 本技能只管非 DiT 段的固定开销); 多卡并行与通信(→ dit-parallel-opt);装库 / 权重下载 / 镜像构建 / 容器创建(→ env-install)。

不做的事:不定位瓶颈(阶段账、占比与标签归编排层 model-auto-optimization)、 不定义门限(非DiT-host段 的占比判据、分母、测点、步数档要求单点在 model-auto-optimization/references/bottleneck-labels.md §2)、 不定义测量纪律(同窗 A/B 口径单点在 perf-gate)、 不实现编译 / 图下发 / 通信 / 算子能力(归能力供给层)。

入口判据:先出固定开销账,再动手

按标签 非DiT-host段 进入(达门限才做;未达门限的登记方式归编排层)。动手前必须先有固定开销账: 把 host 段拆成可测量的行(编解码 / 传输 / 落盘 / 加载 / 预热),每行给测点、口径、占比与证据。 字段定义、测点写法、固定 vs 每请求的区分与常见错账见 references/host-overhead-account.md。

三条纪律:

  1. 分母口径统一:占比一律按同一口径的 e2e(服务端口径;交付开销 = e2e − forward 并继续分解, 取法单点在 perf-gate/references/evidence-toolbox.md);
  2. profiler 看不见 host 段:profiler 只覆盖设备侧 kernel —— 编码 / 传输 / 落盘 / 加载 / 预热 必须靠进程内计时点或服务端计时 + 日志行来证;没有计时点就等于没有账,也就无法判断优化是否生效;
  3. 固定与每请求分开报:装载与预热是每进程一次的成本,交付是每请求的成本。 把首启成本摊进每请求 e2e 会得出错误的优化优先级(反之亦然)。

交付与搬运(每请求)

按“先分解 → 逐段判定 → 最后才改”的顺序,四段各有判据:

  1. 编码:编码是否在关键路径上(编码完成才返回)、编码参数(码率 / 预设 / 线程数 / 是否硬件编码器)、 是否对同一内容重复编码;判据是“该段耗时 ÷ 同口径 e2e”与它能否与下一段重叠;
  2. 通路:worker→API 有几跳(进程内张量传递 / 队列 / 共享内存 / HTTP 分片),每跳有没有整份拷贝或 序列化(大张量走 pickle / JSON 是常见隐形大头);判据是逐跳字节数 × 跳数;
  3. 落盘:是否每请求都写、写盘是否在关键路径、是否落两份(临时 + 最终)、并发写入是否互相拖慢; 判据是写入 / 读取字节数与等待时间;
  4. 异步化:把“不必等”的部分移出关键路径(编码 / 落盘 / 回调 / 日志),但必须在能证明 返回语义不变时才做——返回时机、错误传播、超时与重试语义都要交代清楚。

交付搬运改动的复核:交付产物应字节级一致(或按一致性判据说明为何允许变化,判据口径引 accuracy-gate),再按同窗 A/B 取收益。

装载与预热(首启 / 常驻)

  1. 权重加载:加载路径(网络盘 / 本地盘 / 内存缓存)、格式(逐张读 vs 单大文件)、 dtype 与设备放置(先宿主再上卡 vs 直接设备读)、是否被重复加载(多进程 / 多实例各加载一遍); 与 env-install 的分工:它负责把权重装到位(下载 / 挂载 / 路径核对), 本技能负责装载过程本身(少读、少拷、能并行就并行、可复用就复用);
  2. 编译与图下发预热:机制本体不在此重做 —— 图 pool、lazy capture、按 shape 缓存的图条目、 max_entries 驱逐规则见 aclgraph-dev;pattern 与 compile 后端路径见 pattern-dev。 本技能只做“把已存在的缓存预热到稳态”:用真实会出现的 shape / dtype 与请求形态各跑一次, 覆盖首请求路径,使稳态指标不把首请求的 capture / 编译成本算进去。 预热输入形状与生产不一致时,预热出的是另一批缓存条目(shape 一变就重新 capture / 重新编译)—— 这是预热最常见的静默失效,必须用命中判据(缓存条目数 / 图命中 / 日志行)验证,而不是看总耗时;
  3. 镜像与容器预热:只在部署形态本身需要时做(基础镜像层顺序、依赖预取、挂载与目录就位、 容器内首次读盘的冷缓存)。构建与安装动作本身归 env-install,本技能只负责压缩“起服务的等待时间”这一面。

预热类改动的验收约定:报数分稳态与首启两栏,并给出预热命中判据;只报一个总耗时的结果不可入库。

判定“优化是否生效”(host 段同样会静默)

host 优化的失效形态与设备侧不同,但同样静默,判定方式也不同:

  • 改了但没生效:开关读取点落在分支判定之后、启动脚本 unset 了变量、默认值覆盖了配置 —— 产物与耗时都不变,最容易被读成“优化没用”。判定方式是打印实读值(环境变量实际读到的值、 编码参数的实际生效值、预热命中的缓存条目数),不是看日志字符串;
  • 产物变了(不是无损):改编码 / 封装参数会改变交付产物字节。声称“只是搬运、结果没变”时, 必须给出产物字节一致(或质量门)的证据,判据口径引 accuracy-gate;
  • 测点漂移:把计时点移出或移入关键路径会改变结论 —— 改测点即视为改了口径,必须重测基线;
  • 分母变了:优化顺带改变了请求形态(分辨率 / 帧数 / 步数档),该轮账与上轮不可比。

复验与入库

  • 收益按 同窗 A/B(必要时 A/B/A 修正漂移)判定,口径与噪声地板单点在 perf-gate; 跨窗口绝对值不可比;
  • 固定开销账一起报:优化前后各出一份同口径的账(每行占比 + 证据),并说明变化落在哪一行;
  • 只有通过验收的结果才写入报表(报表列契约与门限口径归编排层)。

与相邻模块的边界

情形去向
并发 / 吞吐 / 批处理调度 / 队列与限流不属本技能(未来独立立项)
VAE / TAE 解码段(计算或通信)vae-opt
DiT 计算侧选档与实施dit-perf-opt
多卡并行形态 / 通信掩盖 / 通信账dit-parallel-opt
装库 / 权重下载 / 镜像构建 / 容器创建env-install
pattern / compile / 图 pool / 缓存机制本体pattern-dev / aclgraph-dev
产物一致性与精度判据accuracy-gate
收益口径与同窗 A/Bperf-gate
瓶颈未定位 / 占比与标签model-auto-optimization

Reference Files

  • references/host-overhead-account.md — 加载时机: 要出或复核固定开销账(编解码 / 传输 / 落盘 / 加载 / 预热各一行 + 占比)时(字段、测点写法、固定 vs 每请求的区分、常见错账)
  • ../model-auto-optimization/references/bottleneck-labels.md(跨技能,单一真源)— 加载时机: 判断是否 达门限、确认 非DiT-host段 标签口径与步数档要求时(不在本技能重定义)
  • ../perf-gate/SKILL.md 与其 perf-gate/references/evidence-toolbox.md(跨技能)— 加载时机: 报数 / 入库 / 取“交付开销 = e2e − forward”的服务端口径时
  • ../aclgraph-dev/SKILL.md(跨技能)— 加载时机: 做图下发预热、需要图 pool / lazy capture / 按 shape 缓存条目与驱逐规则时
  • ../pattern-dev/SKILL.md(跨技能)— 加载时机: 做编译预热、需要确认 pattern / Inductor 路径与缓存归属时
  • ../env-install/SKILL.md(跨技能)— 加载时机: 权重装载策略涉及下载 / 挂载 / 容器创建 / 镜像构建时 (分工:它装,本技能优化装载过程)
  • ../accuracy-gate/SKILL.md(跨技能)— 加载时机: 交付产物字节发生变化、需要一致性判据时

维护与更新

  • 触发:交付链路形态变化(新增通路 / 换编码器 / 换落盘策略)、部署形态变化(镜像 / 容器 / 权重布局)、 编译或图下发机制升级、非DiT-host段 标签或门限口径调整时,按 dev-workflow 的复盘流程更新本技能。
  • 如何判定记录仍存在(先复核、再套用):
    • 占比类:按当前口径重出一份固定开销账,核对“步数档 + 各段占比 + 门限”是否仍能复现; 换模型 / 步数档 / 硬件 / 部署形态必须重测;
    • 预热类:核对预热命中判据(缓存条目数 / 图命中 / 日志行)是否仍成立;若机制已改变 (例如缓存改为默认开启),对应条目应删除或改写为“无需显式预热”;
    • 通路 / 编码类:按当前代码路径重新数跳数与字节数,不沿用旧结论(多一跳 / 少一跳都改变算式)。
  • 失效信号:换部署形态后某段占比落进噪声地板;预热后首请求仍付全量成本(说明预热形状与实际不符); 优化前后账的分母发生变化(该轮不可比,须重做同窗基线)。
  • 删除纪律:编译 / 图下发 / 通信 / 算子等机理性内容只引用不搬入;确认已被机制默认覆盖或 已修复的条目直接删除,不留“以防万一”。

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