| name | pypto-pass-workflow-analyzer |
| description | PyPTO Pass 业务流分析技能。用于分析 PyPTO pass 文档中的业务流程设计部分,帮助理解业务执行流程、各模块在当前场景中的职责、执行顺序依赖关系及数据流转过程。当需要理解某个业务场景中,pass 各模块在当前业务流程中的作用、执行顺序、依赖关系及数据流转过程时使用该技能。 |
PyPTO Pass 业务流分析技能
概述
本技能用于分析 PyPTO pass 文档中的业务流程设计部分,帮助理解某个业务场景中各个 pass 模块在当前场景中的职责、执行顺序依赖关系及数据流转过程。
适用场景
当需要理解以下内容时使用此技能:
- 某个业务场景(如冗余op消除、切图合图、动态参数处理等)的完整执行流程
- 业务流程中涉及的各个 pass 模块及其作用
- 各 pass 模块的执行顺序和依赖关系
- 各 pass 模块之间的数据流转和状态传递
触发关键词
- 分析 pass XXX 业务流程:分析指定业务中 pass 执行的完整业务流
- 分析 XXX 业务的 pass 执行流程:分析指定业务中 pass 执行的完整业务流
- 分析 XXX 业务涉及哪些 pass:分析指定业务中涉及的 pass 模块及执行的完整流程
- 分析 pass xxx 的数据流变化:分析指定业务涉及 pass 的数据流转过程
工作流程
步骤 1:定位业务流程文档
- 在用户指定文档目录下查找相关业务流程文档(如果有的话)
- 根据描述的业务场景,在
docs/ 文档目录中查找相关业务流程文档
步骤 2:解析业务流程设计
从文档及 pass 模块代码中提取以下信息:
-
业务场景描述
-
涉及的 Pass 模块
- 列出所有参与的 pass 模块
- 每个 pass 的名称和基本功能,使用
pypto-pass-module-analyzer 技能分析相关 pass 功能
-
执行顺序和依赖关系
- 根据
framework/src/passes/pass_mgr/pass_manager.cpp 中的默认执行策略中定义的执行顺序,识别 Pass 模块的执行顺序
- 根据 pass 源码所在目录识别该 pass 所处阶段,执行阶段划分[Tensor Graph Pass / Tile Graph Pass / Block Graph Pass / Execute Graph Pass]
- 在
framework/src/passes/ 中查找相关 pass 的源代码,分析模块间数据依赖关系和状态依赖关系
-
数据流转和状态变化
- 根据文档及源码分析涉及的 pass 模块使用什么数据结构来进行数据流转和状态传递
- 根据文档及源码分析经过该模块处理后数据及状态的变化
- 模块 1:模块处理前数据及状态 → 模块处理 → 模块处理后数据及状态变化
- 模块 2:模块处理前数据及状态 → 模块处理 → 模块处理后数据及状态变化
步骤 3:结合源代码验证
- 在
framework/src/passes/ 中查找相关 pass 的源代码
- 使用
pypto-pass-module-analyzer 技能分析相关 pass 功能,验证文档描述与代码实现的一致性
- 补充文档中未详细说明的实现细节
步骤 4:生成业务流分析报告
按照 references/pass-workflow-report-template.md 中的模板格式输出分析结果。该模板包含以下章节:
- 业务概述
- 涉及的 Pass 模块(表格形式)
- 执行流程(包含整体流程图和详细执行顺序)
- 依赖关系分析(前置依赖、数据依赖、状态依赖)
- 各 Pass 详细说明
- 业务价值
- 典型应用场景
- 注意事项
- 相关文件
输出要求
- 使用清晰的层级结构
- 使用表格展示 pass 列表
- 使用流程图或列表展示执行顺序
- 详细说明每个 pass 的功能和依赖关系
- 提供实际的应用场景示例
注意事项
- 如果文档信息不完整,结合源代码补充
- 如果发现文档与代码不一致,标注出来
- 重点关注 pass 之间的依赖关系和数据流转
- 对于复杂的业务流程,分阶段详细说明