PyTorch AOTI 编译报错?看这个官方调试 Skill 就够了

写过 PyTorch AOT 编译的同学,一定被 aot_compile / aoti_load_package 的段错误(segfault)折磨过。

明明本地跑得好好的,一上 AOTInductor 就崩。错误信息要么是 index out of bounds,要么是 device mismatch,看着一堆堆的 tmpN < ksM 断言失败,完全不知道从哪下手。

今天介绍一个 PyTorch 官方维护的调试 Skill——AOTI Debug,专门解决这些头疼的编译期和加载期问题。

这个 Skill 的逻辑很清晰:先根据错误类型分流,把「Triton 索引越界」和「其他错误」分开处理。然后无论哪种情况,第一步永远都是检查设备和形状匹配——编译设备和加载设备必须一致,输入 shape 也必须对上。

常见错误场景

1. 设备不匹配导致的段错误
最典型:GPU 上编译,CPU 上加载,直接 segfault。AOTI 要求编译和加载必须用同一类设备(都是 CUDA 或都是 CPU),不支持跨设备加载。

2. 输入 Shape 不匹配
运行时输入的 shape 与编译时不一致,会导致输出错误或异常。Skill 里给出了对比编译 vs 加载代码的规范写法,照着检查就行。

3. Triton 内核索引越界
遇到 index out of bounds: 0 <= tmpN < ksM 这类断言失败,Skill 会路由到专门的 triton-index-out-of-bounds.md 子指南,给出针对性的修复路径。

怎么用

# 通过 Smithery 安装
npx -y @smithery/cli install pytorch/aoti-debug --client claude

# 或者手动添加到 claude_desktop_config.json

触发条件也很明确:aot_compileaot_loadaoti_compile_and_packageaoti_load_package 相关的报错,直接把这个 Skill 招呼上就行。

总结

AOTI Debug 是一个面向 PyTorch 进阶用户的工具型 Skill,定位清晰——帮你系统化地排查 AOTInductor 编译链路上的各类报错。官方维护,更新有保障,适合做 PyTorch 模型部署、推理优化的同学收藏备用。

GitHubpytorch/pytorch – .claude/skills/aoti-debug


GitHub: https://github.com/pytorch/pytorch/tree/main/.claude/skills/aoti-debug

评论区

0 条评论

登录后可评论。

江望 14 阅读