PyTorch AOTInductor 混合降级
内容提要
本文讨论了PyTorch AOTInductor如何将具有混合设备执行计划的PyTorch导出程序编译成单个可执行包,该包可在CPU和GPU上运行模型,无需手动拆分模型。示例展示了如何使用AOTInductor编译和加载模型,并通过性能分析验证混合执行的有效性。
关键要点
-
PyTorch AOTInductor可以将具有混合设备执行计划的PyTorch导出程序编译成单个可执行包。
-
该可执行包可以在CPU和GPU上运行模型,无需手动拆分模型。
-
使用torch._inductor.aoti_compile_and_package API编译导出程序,生成单个可执行包。
-
通过torch._inductor.aoti_load_package API加载编译后的包,可以使用真实输入张量运行模型。
-
示例展示了如何编译和加载CPU、GPU和CPU-GPU混合设备配置的模型。
-
性能分析通过检查分析跟踪验证了混合执行的有效性。
延伸问答
PyTorch AOTInductor的主要功能是什么?
PyTorch AOTInductor可以将具有混合设备执行计划的PyTorch导出程序编译成单个可执行包,支持在CPU和GPU上运行模型。
如何使用AOTInductor编译和加载模型?
使用torch._inductor.aoti_compile_and_package API编译导出程序,并通过torch._inductor.aoti_load_package API加载编译后的包。
AOTInductor支持哪些设备配置?
AOTInductor支持CPU、GPU和CPU-GPU混合设备配置的模型。
如何验证混合执行的有效性?
通过性能分析检查分析跟踪,可以验证混合执行的有效性。
AOTInductor编译的可执行包有什么特点?
编译后的可执行包可以在不同设备上运行模型,无需手动拆分模型。
在使用AOTInductor时,如何处理输入张量?
可以使用真实输入张量来运行模型,编译后的包返回一个可调用的Python对象。