一键导入
pypto-pass-error-locator
PyPTO Pass 模块错误诊断技能。包含错误定位、原因分析和提供问题修复建议,提供从问题定位到修复建议的完整工作流程。当遇到 PyPTO Pass 模块抛出错误时使用此技能。触发词:定位 pass 错误、pass 模块异常、pass 报错、pass 失败、pass 异常。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
PyPTO Pass 模块错误诊断技能。包含错误定位、原因分析和提供问题修复建议,提供从问题定位到修复建议的完整工作流程。当遇到 PyPTO Pass 模块抛出错误时使用此技能。触发词:定位 pass 错误、pass 模块异常、pass 报错、pass 失败、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-error-locator |
| description | PyPTO Pass 模块错误诊断技能。包含错误定位、原因分析和提供问题修复建议,提供从问题定位到修复建议的完整工作流程。当遇到 PyPTO Pass 模块抛出错误时使用此技能。触发词:定位 pass 错误、pass 模块异常、pass 报错、pass 失败、pass 异常。 |
| license | 完整条款见 LICENSE.txt |
本技能提供 PyPTO Pass 模块错误的完整诊断和修复建议能力,从错误原因定位到提供修复建议的端到端解决方案。
当某业务场景执行失败,需要分析定位某pass抛出异常原因并获取修复建议时使用此技能。
使用此技能前需要满足以下条件:
环境要求
输入要求
依赖技能
pypto-environment-setup:用于检查环境状态pypto-pass-module-analyzer:用于分析对应 Pass 模块实现pypto-pass-workflow-analyzer:用于分析 Pass 业务流和上下游依赖当用户输入包含以下错误日志或关键字时,自动触发此技能:
触发示例
如果用户执行的是python相关的脚本,开启图编译阶段调试模式开关(开启调试模式编译时会默认在$(pwd)/output目录下输出各 pass 模块的计算图和IR等文件):
@pypto.frontend.jit(
debug_options={"compile_debug_mode": 1, "runtime_debug_mode": 1}
)
设置日志相关环境变量:
export ASCEND_PROCESS_LOG_PATH=$(pwd)/logs/$(date +%Y%m%d%H%M%S) export ASCEND_GLOBAL_LOG_LEVEL=0 根据用户提供的执行命令,复现用户问题
重要: 上述步骤中的 设置日志相关环境变量 与 根据用户提供的执行命令,复现用户问题,必须同一个会话中完成,否则环境变量的设置无法生效。
验证检查点:
日志查找策略:
$ASCEND_PROCESS_LOG_PATH/debug/plog 目录下获取 pypto-*.log日志文件验证:
pass 中断但无异常日志的特殊处理:
计算图和IR查找策略 查找计算图和IR信息,若没有 CodegenPreproc 模块的相关输出,即可判定 pass 未执行到最后一个模块。[ERROR] 日志,且pass执行中断,在最后中断的pass模块中增加异常捕获代码,对该 pass 的 RunOnFunction 增加临时异常捕获代码,至少覆盖:
catch (const std::exception& e),打印 e.what()catch (...),打印 unknown exception验证检查点:
CodegenPreproc 是否执行完成RunOnFunction 中补充临时异常捕获或关键日志计算图和IR查找策略:
compile_debug_mode 后,计算图和 IR 默认输出到 $(pwd)/output 目录下。output 目录下生成一个新的子目录,目录名通常类似:output_20260417_153300_744883_2765832_C0A8451A。Pass_* 目录;每个 Pass_xxx 目录下存放对应 pass 模块执行前后的计算图 JSON 和 IR 文件。Before 计算图和 IRAfter 计算图和 IR(若已生成)执行异常时的特殊处理:
Pass_xxx 目录下的 After 计算图是否成功打印。After 计算图未成功打印,不得直接基于 Before 图下结论;必须参考 references/pass-error-analysis-guide.md 中的“异常前补打计算图”相关流程,定位最近异常点并插入临时 DumpJsonFile 代码。DumpJsonFile 代码后,必须重新编译并安装 pypto 包,再重新执行用户复现脚本。python3 build_ci.py --clean --no_isolation && bash build_out/cann-pypto_*.run --full -q --pylocal验证检查点:
output_* 子目录Pass_* 目录Before 计算图和 IRAfter 计算图是否存在After 计算图缺失,已按参考流程插入临时 DumpJsonFile 代码日志格式示例:
以如下 pass 模块打印的日志格式为例,分段解析:
[ERROR] PYPTO(638465):2026-03-16 10:02:24.711 [n_buffer_merge.cpp:530][PASS]:[NBufferMerge.Config]:The VEC_NBUFFER_SETTING key -3 is incorrect; Please set keys of VEC_NBUFFER_SETTING between -1 and max hashOrder 0.
解析字段:
n_buffer_merge.cpp 为文件名,530 为打印该日志代码所在行号NBufferMerge 可能是pass模块名,也可能是其他工具模块名,如果不是pass模块名称要根据日志上下文分析是哪个pass模块调用的该方法多行错误处理:
日志级别处理:
[ERROR]:必须处理的关键错误[WARN]:可能导致问题的警告信息[INFO]:辅助调试的信息日志验证检查点:
| 异常类型 | 日志特征 | 关键信息提取 |
|---|---|---|
| 参数配置异常 | vec_nbuffer_setting, cube_l1_reuse_setting, cube_nbuffer_setting, sg_set_scope | 异常参数名、参数配置值 |
| 算子约束违反 | constraint violated, invalid parameter | opcode类型、op_magic信息 |
| 段错误 | segment fault | 调用堆栈信息 |
| 属性缺失 | attribute not found, missing attribute, required attribute, get attribute failed | 属性名称、算子名称、期望属性类型、缺失的属性列表 |
| 计算图成环 | cycle detected, graph cycle, topological sort failed, circular dependency | 成环节点、循环路径、依赖关系、拓扑排序失败节点 |
| 索引越界 | index out of range, invalid index | 索引值、范围、张量形状 |
sed -n '<line-20>,<line+10>p' <file>pypto-pass-module-analyzer 技能分析理解对应pass模块整体业务逻辑验证检查点:
references/pass-error-analysis-guide.md 文件,其中已包含日志、计算图 JSON 的统一分析流程After 图缺失RunOnFunction 增加异常捕获/临时日志后重新复现验证检查点:
报告格式详见 PyPTO Pass 错误分析报告模板。
一个有效的错误分析报告必须满足:
输出报告后,执行以下校验:
当校验失败时,按以下路径回退:
| 失败类型 | 回退步骤 | 回退原因 |
|---|---|---|
| 格式不完整 | 回退到步骤 5(异常分析) | 重新汇总分析结果 |
| 证据链断裂 | 回退到步骤 2(关键信息获取) | 补充缺失的日志或计算图证据 |
| 修复建议不可执行 | 回退到步骤 4(异常分类) | 重新定位根因并细化修复方案 |
回退后必须记录:回退原因、缺失内容、补充动作。
处理大规模日志文件时: