ワンクリックで
pypto-simulation
PyPTO Soc CAModel 仿真执行技能。用于在 CPU 上模拟昇腾 AI 处理器行为,生成核内流水报告。触发词:Soc CAModel 仿真、核内流水、流水报告。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
PyPTO Soc CAModel 仿真执行技能。用于在 CPU 上模拟昇腾 AI 处理器行为,生成核内流水报告。触发词:Soc CAModel 仿真、核内流水、流水报告。
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-simulation |
| description | PyPTO Soc CAModel 仿真执行技能。用于在 CPU 上模拟昇腾 AI 处理器行为,生成核内流水报告。触发词:Soc CAModel 仿真、核内流水、流水报告。 |
Soc CAModel 仿真在 CPU 上模拟昇腾 AI 处理器,无需 NPU 硬件即可分析核内流水。
关键特点:
执行目录:pypto 仓库主目录
cd /path/to/pypto
pip show pypto
检查点:
Name: pypto 和 Version: x.x.x → PyPTO 已安装,跳过安装如 PyPTO 未安装,在主目录下执行:
cd /path/to/pypto
# 编译产出 run
python3 build_ci.py --clean --no_isolation
# 安装到当前环境
bash build_out/cann-pypto_*.run --full -q --pylocal
安装完成后重新检查:
pip show pypto
执行目录:pypto 仓库主目录
根据用户目的选择模式:
模式 A:功能仿真(验证功能是否正常)
cd /path/to/pypto
cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -o output/
模式 B:性能仿真(查看流水报告)
前置检查(执行前必须完成):
读取用户示例脚本,确认并修改以下三项:
torch.rand/torch.empty/torch.ones/torch.zeros 等)的 device 参数须为 'cpu' 或省略;若为 'npu:x' 需改为 'cpu'@pypto.frontend.jit(runtime_options={"run_mode": ...}) 的 run_mode 须为 1(即 pypto.RunMode.SIM,对应仿真模式);若为 0(RunMode.NPU)需改为 1pypto.set_global_config("simulation.accuracy_level", 2),用于开启核内流水采集;若缺失会导致无法生成流水报告若脚本已通过命令行参数(如
--run_mode sim)参数化控制上述第 1、2 项,传入sim即满足要求。
cd /path/to/pypto
cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -n 0 -g -o output/
⚠️ 核数说明:上述命令带
-n 0,执行后默认只能查看 0 核的流水报告。若需查看多核流水,执行时不要指定-n 0(去掉该参数),仿真器会对所有核开启日志采集;随后通过步骤 3 的--core-id all(或指定核号如--core-id 1,5)生成对应核的报告。
检查点:
passed 或精度校验通过(如 Max difference 在容差内)output/cannsim_*/ 目录output/cannsim_*/report/ 下生成 trace_core0.json模式 B 执行完成后,告知用户可选步骤 3(模式 A 不需要):
可选步骤 3(仅模式 B): 已生成单核报告;如需全部核(32核)的完整流水报告,请确认后执行:
cannsim report -e <cannsim_dir> -o <cannsim_dir>/report --core-id all
查看报告:
chrome://tracing → Load trace_core*.json所有命令均在 pypto 仓库主目录执行
# 步骤1:检查PyPTO安装(必须)
$ cd /path/to/pypto
$ pip show pypto
Name: pypto
Version: 0.2.1
# 如果未安装:
$ python3 build_ci.py --clean --no_isolation
$ bash build_out/cann-pypto_*.run --full -q --pylocal
# 步骤2:执行仿真(必须)
# 模式A:功能仿真
$ cd /path/to/pypto
$ cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -o output/
# 模式B:性能仿真(脚本中需设置 pypto.set_global_config("simulation.accuracy_level", 2))
$ cd /path/to/pypto
$ cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -n 0 -g -o output/
Json Saved at: .../report/trace_core0.json ✓
# 步骤3:生成全部核报告(可选,需用户确认)
$ cd /path/to/pypto
$ cannsim report -e <cannsim_dir> -o <cannsim_dir>/report --core-id all
Json Saved: trace_core0.json ... trace_core31.json ✓
output/cannsim_*/
├── cannsim.log # 仿真日志
└── record/
└── instr.bin # 指令二进制(cannsim record 采集)
# 模式 B(带 -g)自动生成报告:
output/cannsim_*/
└── report/
├── results/
└── trace_reports/
└── trace_core0.json # 单核流水图
# 步骤3执行后追加:
output/cannsim_*/report/trace_reports/
├── trace_core0.json
├── trace_core1.json
└── ... (trace_core31.json,共32个核)
步骤 3(生成全部核报告,仅模式 B 适用)需遵循以下规范:
cannsim report --core-id all原因: 执行目录错误,未在 pypto 主目录下执行
解决: 必须在 pypto 主目录下执行所有命令
cd /path/to/pypto
# 功能仿真
cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -o output/
# 性能仿真(脚本中需设置 pypto.set_global_config("simulation.accuracy_level", 2))
cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -n 0 -g -o output/
原因: 32核日志处理慢
解决: 使用 --core-id 0 只生成单核报告
# 功能仿真
cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -o output/
# 性能仿真(脚本中需设置 pypto.set_global_config("simulation.accuracy_level", 2))
cannsim record 'python3 examples/00_hello_world/hello_world.py --run_mode sim' -s Ascend950 -n 0 -g -o output/
# 生成完整报告(全部核)
cannsim report -e <cannsim_dir> -o <cannsim_dir>/report --core-id all
# 查看输出目录
ls output/cannsim_*/
# 查看报告
ls output/cannsim_*/report/
pypto-environment-setup:环境准备tune-incore:核内流水优化(基于 Soc CAModel 报告)tune-swimlane:泳道图分析优化