MindIE SD 基于 PyTorch 的 [object Object] 编译器提供自定义后端 [object Object],在昇腾芯片上提供两套互补的加速能力:
- Pattern 融合:利用 Pattern Matcher 将常见算子组合自动替换为昇腾融合算子,减少 kernel 启动开销
- ACLGraph 加速:通过
[object Object]将计算图捕获为静态执行图,replay 时跳过动态图调度
两项能力通过 [object Object] 统一控制。
[object Object]
两种加速能力共享相同的入口:对模型或其子模块调用 [object Object] 并指定 [object Object]。
对 transformer 整体 compile:
[object Object]
对单个 Module 使用装饰器:
[object Object]
对 forward 函数使用装饰器:
[object Object]
[object Object] 内置了多组算子融合 Pattern,编译时自动匹配并替换为昇腾优化算子。各 Pattern 的开关可通过 [object Object] 单独控制:
[object Object]
[object Object]
作为 [object Object] 的 [object Object] 参数传入,自动启用 Pattern 融合和 ACLGraph 加速。
[object Object]
Pattern 融合的开关通过 [object Object] 控制:
在 Pattern 融合的基础上,可进一步启用 ACLGraph 将优化后的图捕获为静态执行计划。
[object Object] 与 [object Object] 互斥,同时开启时 [object Object] 优先级更高。
在上方 的基础上,调用前配置 [object Object] 即可启用:
[object Object]
语音等场景下输入长度不固定,可通过外部 padding 适配:
[object Object]
- 环境依赖:仅昇腾 NPU 环境支持
- 输入 shape:运行时输入 shape 须与捕获时一致,变更会触发重新捕获
- 动态特性:不支持动态 shape、动态 control flow 或 conditional branching
- 首次耗时:首次触发图捕获存在一次性耗时开销
- graph.update:不提供
[object Object]接口(该接口用于 LLM 场景动态注入 attention metadata,SD 场景不需要) - 配置时机:
[object Object]需在[object Object]调用前完成配置