【TVM 教程】向 TVM 中添加 Codegen

💡 原文中文,约25300字,阅读约需61分钟。
📝

内容提要

Apache TVM 是一个支持多种硬件的深度学习编译框架,提供统一的编程接口,简化高性能模型在不同设备上的实现。开发手册指导如何为硬件生成代码并注册为 Relay 后端编译器,支持生成 C 代码或其他计算图形式。用户可通过自定义标签注释模型以提升性能。

🎯

关键要点

  • Apache TVM 是一个支持多种硬件的深度学习编译框架,简化高性能模型在不同设备上的实现。
  • 统一的编程接口可以让用户和硬件厂商信息同步,提供高性能的解决方案。
  • 开发手册指导硬件厂商如何实现自己的 Codegen,并注册为 Relay 后端编译器。
  • 用户可以生成 C 代码或其他计算图形式,提升模型性能。
  • 实现 C Codegen 需要生成函数声明、函数调用和分配中间数组。
  • CodegenC 类用于遍历子图并生成 C 代码,支持多种算子。
  • ExampleJson 计算图表征可以通过自定义 Codegen 生成,并实现自定义 runtime 模块。
  • 自定义 runtime 模块需要实现 GetFunction、SaveToBinary 和 LoadFromBinary 等函数。
  • 用户可以通过 Python API 加载和创建自定义模块,支持直接从文件创建模块。
➡️

继续阅读