💡
原文英文,约200词,阅读约需1分钟。
📝
内容提要
torch.compile()和torch.export()是基于PyTorch 2.6的工具。前者为JIT编译器,灵活处理不可追踪部分;后者为AOT编译器,捕获完整图形,适合部署。两者在图形捕获、处理不可追踪代码和输出方面存在差异。
🎯
关键要点
- torch.compile()和torch.export()是基于PyTorch 2.6的工具,分别用于不同目的。
- torch.compile()是一个JIT编译器,灵活处理不可追踪部分,回退到Python运行时。
- torch.export是一个AOT编译器,捕获完整图形,对不可追踪代码报错,适合部署。
- torch.compile()使用TorchDynamo进行追踪,AOT Autograd进行优化,torch.fx作为图形基础。
- torch.export依赖TorchDynamo进行广泛的字节码追踪,AOT Autograd进行ATen降级,torch.fx用于图形表示。
- torch.compile()的编译方式为JIT,图形捕获为部分,处理不可追踪代码时回退到Python运行时,输出灵活。
- torch.export的编译方式为AOT,图形捕获为完整,处理不可追踪代码时需要重写或提供信息,输出为可移植的ATen级别图形。
➡️