部署到 Adreno™ GPU

💡 原文中文,约12900字,阅读约需31分钟。
📝

内容提要

Adreno™是高通开发的用于SoC的图形处理单元(GPU)半导体IP核系列。TVM使用TVM的原生OpenCL后端和OpenCLML后端以支持加速Adreno™ GPU上的深度学习。TVM提供了命令行工具和Python API接口,用于模型的自动调整、编译和部署到Adreno™目标机。

🎯

关键要点

  • Adreno™ 是高通开发的图形处理单元(GPU)半导体 IP 核系列。
  • Adreno™ GPU 能够加速复杂几何图形的渲染,提供高性能图形和低功耗。
  • TVM 使用 OpenCL 后端支持在 Adreno™ GPU 上加速深度学习。
  • TVM 的 OpenCL 后端通过纹理内存使用和友好的激活布局来优化 Adreno™。
  • OpenCLML 是高通发布的 SDK,提供深度学习运算符的内核加速库。
  • TVM 提供命令行工具和 Python API 接口用于模型的自动调整、编译和部署。
  • 模型导入阶段将模型转换为 TVM 的 relay 模块格式。
  • 自动调整阶段优化 TVM 生成的内核以获得最佳性能。
  • 编译阶段为特定目标编译模型,生成共享库和参数文件。
  • 部署阶段在目标上运行已编译的模型并进行单元测试。
  • 应用集成阶段将 TVM 编译的模型集成到应用程序中。
  • TVM 提供 Docker 容器环境以简化设置和依赖管理。
  • 手动构建过程需要配置主机和目标组件。
  • RPC 设置允许通过网络接口访问远程目标,支持自动调整和模型部署。
  • TVM Tracker 管理远程设备并提供服务,TVM RPC 在远程设备上运行。
  • TVMC 是 TVM 的命令行工具,用于模型导入、自动调整、编译和部署。
  • 生成的 TVM 编译输出包括共享库、图形 JSON 和参数文件。
  • TVM 支持通过 C Runtime API 和 TVMRunner 接口进行应用集成。
  • 高级用法包括生成源码检查和选择特定工作负载的正确精度。
  • ToMixedPrecision 过程用于将 FP32 的 Relay 图转换为 FP16 版本,减小模型大小。
🏷️

标签

➡️

继续阅读