TVM Tutorial: Automatic Optimization of Convolutional Networks for x86 CPU

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

Apache TVM 是一个支持 CPU 和 GPU 的深度学习编译框架。本文以 resnet-18 为例,介绍了如何为 x86 CPU 优化卷积神经网络,包括网络定义、优化过程和性能评估。

🎯

关键要点

  • Apache TVM 是一个支持 CPU 和 GPU 的深度学习编译框架。
  • 本文以 resnet-18 为例,介绍了如何为 x86 CPU 优化卷积神经网络。
  • 教程不支持 Windows 或最新版本的 macOS。
  • 使用 Relay 前端 API 定义网络,可以加载预定义的网络或使用 Relay 构建。
  • 通过更改卷积内核的数据布局从 'NCHW' 到 'NCHWc' 来优化性能。
  • 使用本地模式调优配置,确保测试结果的准确性。
  • 调优选项包括日志文件名、调优器类型和测量选项。
  • 使用不同的调优器(如 XGBTuner、GATuner、RandomTuner 等)进行内核调优。
  • 实现计算图级别的最优调度,使用 DPTuner 或 PBQPTuner。
  • 启动调优作业并评估端到端性能。
  • 调优需要编译多个程序并提取特征,推荐使用高性能 CPU。
  • 评估不同调优模式下的网络性能,包括默认模式、内核调优模式和图级调优模式。
➡️

继续阅读