一键导入
pypto-pass-module-analyzer
PyPTO Pass 模块代码分析技能。用于分析 PyPTO pass 的代码,并结合输入文档中的相应内容,生成 Pass 模块分析文档。帮助开发者理解各个模块的接口、功能与特殊场景。当需要理解 PyPTO pass 中某个模块的代码、功能和设计时使用此技能。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
PyPTO Pass 模块代码分析技能。用于分析 PyPTO pass 的代码,并结合输入文档中的相应内容,生成 Pass 模块分析文档。帮助开发者理解各个模块的接口、功能与特殊场景。当需要理解 PyPTO pass 中某个模块的代码、功能和设计时使用此技能。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
PyPTO Pass 编译性能优化技能。用于分析和优化 Pass 模块的编译性能,当 Pass 编译耗时过长需要优化时使用此技能。
定位测试案例中出现 aicore error 时的问题 CCE 文件和问题代码行。当用户说"aicore error"、"定位 aicore error 的原因"、"帮我定位 aicore error 报错"时使用此技能。也适用于用户直接提供 CCE 文件希望定位问题代码行或映射到源码的场景。
PyPTO 环境安装与环境问题修复,包括 CANN、torch_npu、编译工具链、第三方依赖和 PyPTO 编译运行等。触发词:PyPTO environment setup, CANN install, torch_npu, NPU environment, Ascend toolkit, compile PyPTO, build PyPTO, NPU driver, prepare_env, diagnose environment, fix import error, torch_npu import fail, DT_FP8E8M0, pto-isa, ASCEND_HOME_PATH, npu-smi, softmax verify, pip dependency conflict
分析当前 session 上下文,识别 PyPTO 框架或文档不完善导致的断裂点,产出可转化为 Issue 的结构化报告。当用户在 pypto 相关 skill 运行结束后提到"断裂点"、"识别断裂点"、"检测断裂点"、"fracture point"时触发此 skill。也适用于用户对 session 中遇到的问题进行复盘、想要生成问题报告、或希望改进 pypto 框架/文档质量的场景。
分析 host 侧捕获异常后的堆栈信息,通过地址到源码行映射和符号解析,定位问题代码位置。支持 Python traceback、C++ stack trace 和混合堆栈的自动识别与分析。支持编译Debug版本PyPTO包并定位具体代码行。Triggers:"堆栈分析"、"堆栈反汇编"、"分析堆栈信息"、"地址到源码行"、"stack trace"、"backtrace"
PyPTO MACHINE 内存重叠检测与修复技能。通过系统化流程检测和修复 workspace 内存重叠、内存管理策略问题导致的精度异常。当怀疑精度问题由内存重叠、workspace 不足、内存管理异常引起时使用此技能。触发词:内存重叠、内存重叠检测、workspace问题、内存管理异常、内存复用错误。
| name | pypto-pass-module-analyzer |
| description | PyPTO Pass 模块代码分析技能。用于分析 PyPTO pass 的代码,并结合输入文档中的相应内容,生成 Pass 模块分析文档。帮助开发者理解各个模块的接口、功能与特殊场景。当需要理解 PyPTO pass 中某个模块的代码、功能和设计时使用此技能。 |
本技能用于分析 PyPTO pass 的代码,并结合输入文档中的相应内容,生成 Pass 模块分析文档。
当需要理解 PyPTO pass 中某个模块的代码、功能和设计时使用此技能。
当用户输入包含以下关键字时,自动触发此技能:
触发示例:
根据需要分析的 pass 在 PVC2_OOO 策略中的位置,输出文件命名规则如下:
PVC2_OOO 策略中的 pass:
framework/src/passes/pass_mgr/pass_manager.cpp 中的 RegDefaultStrategy() 函数{序号}_{PASS名称}.md,序号使用两位数字,从 00 开始,具体取值为该 pass 在 PVC2_OOO 策略中的排序不在 PVC2_OOO 策略中的 pass:
99_ 开头99_{PASS名称}.md按照输入场景分类,并按照场景下序号依次执行步骤
在分析 Pass 代码时,需要重点关注以下内容:
在分析代码时,需要特别搜索和分析以下内容:
以下三个视图类 OPCode 在 Pass 中经常需要特殊处理,必须在分析时重点记录它们的特判场景:
搜索目标:
GetOpcode()、GetOpCode() 相关的判断Opcode::OP_ 相关的常量使用if (op->GetOpcode() == Opcode::OP_XXX) 或类似的特判逻辑分析要点:
在分析代码时,识别以下类型的 OPCode 特判:
if (op->GetOpcode() == Opcode::OP_XXX)if (xxxOps.count(op->GetOpcode()) > 0)if (op->GetOpcode() != Opcode::OP_XXX)if (op->GetOpcode() == Opcode::OP_XXX || op->GetOpcode() == Opcode::OP_YYY)对于每个 OPCode 特判,记录以下信息:
特别强调:
将特判按照处理方式进行分类:
按照 Pass 名称、Pass 类型、简要描述这几个维度进行分析(输出结果时对应到 Pass_Analysis_Template.md 中的“Pass 概述”章节)
按照 Pass_Analysis_Template.md 模板格式输出,包含以下章节: