원클릭으로
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:泳道图分析优化