【TVM 教程】在 Relay 中使用 Pipeline Executor
原文中文,约6900字,阅读约需17分钟。
📝
内容提要
Apache TVM 是一个支持 CPU 和 GPU 的深度学习编译框架。本文介绍如何结合「Pipeline Executor」与 Relay 创建和拆分简单神经网络。通过配置子图和目标,使用 CUTLASS 构建,实现两个子图的异步或同步运行,并验证输出结果。
❓
Q&A
什么是 Apache TVM?
Apache TVM 是一个支持 CPU 和 GPU 的深度学习编译框架。
如何在 Relay 中使用 Pipeline Executor?
可以通过配置子图和目标,使用 CUTLASS 构建,并通过 Pipeline Executor 运行两个子图。
如何将神经网络拆分成子图?
使用 graph_split 函数可以将网络拆分成两个子图,用户也可以创建自定义逻辑进行拆分。
Pipeline Executor 支持哪些运行模式?
Pipeline Executor 支持异步或同步获取输出的运行模式。
如何验证两个子图的输出结果?
可以使用 graph_executor 依次运行两个子图,并验证输出结果是否一致。
在构建子图时,如何配置目标?
在构建子图时,可以设置不同的编译目标,例如将一个子图的目标设置为 'llvm',另一个设置为 'cuda'。
🏷️