后端概述¶
ExecuTorch 后端为特定的硬件目标提供硬件加速。为了在目标硬件上实现最高性能,ExecuTorch 在导出和降级过程中针对特定后端对模型进行优化。这意味着生成的 .pte 文件是针对特定硬件定制的。为了部署到多个后端,例如 iOS 上的 Core ML 和 Android 上的 Arm CPU,通常会为每个后端生成一个专门的 .pte 文件。
硬件后端的选择取决于模型打算部署到的硬件。每个后端都有特定的硬件要求和模型支持级别。有关详细信息,请参阅每个硬件后端的文档。
作为 .pte 文件创建过程的一部分,ExecuTorch 会识别给定后端支持的模型部分(分区)。这些部分由后端提前处理,以支持高效执行。模型中委托不支持的部分(如果存在)将使用 CPU 上的可移植回退实现来执行。这允许在后端并非支持所有模型算子时实现部分模型加速,但这可能会对性能产生负面影响。此外,可以按优先级顺序指定多个分区器。例如,这允许在 GPU 上不支持的算子通过 XNNPACK 在 CPU 上运行。
可用后端¶
下面列出了常用的硬件后端。对于移动设备,请考虑在 Android 上使用 XNNPACK,在 iOS 上使用 XNNPACK 或 Core ML。要为特定后端创建 .pte 文件,请将相应的分区器类传递给 to_edge_transform_and_lower
。有关更多信息,请参阅相应的后端文档。