• 文档 >
  • 将后端委托集成到 ExecuTorch 中
快捷方式

将后端委托集成到 ExecuTorch 中

免责声明:我们计划围绕委托重组代码库。未来一些指导方针可能会随之改变。

这是将后端委托集成到 ExecuTorch 的高级指南。

目录结构

委托文件应放在此目录下:executorch/backends/<delegate_name>/。委托名称必须是唯一的。

Python 源代码文件

委托 Python 文件,例如为 ExecuTorch AOT 流程实现 preprocess()partition() 函数的文件(不包括任何外部第三方依赖及其文件),应随顶级 ExecuTorch 包一起安装并可用。有关第三方依赖,请参阅此链接

C++ 源代码文件

至少,委托必须提供 CMake 支持来构建其 C++ 源代码。

对于 CMake 设置,应使用 add_subdirectory CMake 命令将委托目录包含在顶级 CMakeLists.txt 文件中,并且应通过一个 ExecuTorch 构建标志(例如 EXECUTORCH_BUILD_<DELEGATE_NAME>)进行条件构建,例如参阅 EXECUTORCH_BUILD_XNNPACK。有关第三方依赖,请参阅此链接

测试

测试应添加到 executorch/backends/<delegate_name>/test 目录下。测试可以是 Python 或 C++ 测试。如需添加更复杂的端到端 (e2e) 测试,请联系我们。

常见测试类型

  • 简单的 Python 单元测试,用于测试 AOT 逻辑,例如 partitioner() 或 AOT 导出流程(从 nn.Module 生成 .pte 文件)。

  • 运行时 C++ 测试(使用 gtest),用于测试委托的 init()execute() 运行时逻辑。

文档

委托必须包含一个 executorch/backends/<delegate_name>/README.md 文件,其中解释了委托的基础知识、目录结构、功能以及已知问题(如果有)。

除上述步骤外,任何额外的设置步骤都应在 executorch/backends/<delegate_name>/setup.md 中记录。

文档

查阅 PyTorch 的完整开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源