当前位置: 首页 > news >正文

TVM_深度学习编译器

TVM_深度学习编译器

TVM所做的是要比传统compiler更偏上层的,你可以把它理解成source-to-source compiler,需要其他的后端(backend)来生成最后的指令。比如当编译的Target是Intel CPU时,翻译的顺序是Relay IR -> TVM IR/ Halide IR -> LLVM IR,之后交给LLVM生成最后的可执行程序。当编译的Target是NVIDIA GPU时,这个顺序就变成了 Relay IR -> TVM IR/Halide IR -> CUDA program (比如生成一个文件, my_kernel.cu),然后调用cuda的runtime compiler来生成CUDA可执行文件。

细节上可能跟最新的不一样,因为TVM大概在逐渐废弃Halide IR,TVM IR也是每个版本都有改动。从前后端的角度上看,vitis AI可以作为TVM的后端之一,而且不久前,TVM也支持了这个后端([RFC][BYOC] Vitis-AI integration),具体支持的如何,我没有试过。TVM的核心优势在于从Halide等框架借鉴来的算子描述与调度分离,TVM IR侧重于loop nest来做loop transformation。vitis从官网上看,可以做剪枝量化这些,之后把算子分派到具体的执行单元。

TVM + vitis AI backend的话,从RFC来看,大概是先在TVM这一层做优化,然后翻译到vitis的graph IR。但是我很好奇,如果我做tiling,这个tiling size在底层没有支持,它怎么翻译?还是说这个RFC所做的只是Relay graph optimization,比如算子融合,constant folding

http://www.lryc.cn/news/105109.html

相关文章:

  • Flutter InheritedWidget 共享状态管理
  • 什么是反射?Java反射?反射的优缺点
  • 小红书2020校招测试开发后端笔试题卷三
  • python数据可视化Matplotlib
  • firewalld防火墙
  • iMacros WebBrowser Component for .NET
  • 3,堆,桶排序,排序总结【p4-p5】
  • 使用langchain与你自己的数据对话(四):问答(question answering)
  • 如何快速开拓海外华人市场?附解决方案!
  • 【云原生-制品管理】制品管理的优势
  • Java爬虫----HttpClient方式(获取数据篇)
  • 计算机视觉实验:图像增强应用实践
  • ES6:Generator函数详解
  • 前端小练-产品宣传页面
  • arm学习之stm32设备树学习-中断控制led灯亮灭+字符设备指令控制led灯亮灭
  • 快速开发框架若依的基础使用详解
  • RabbitMQ 教程 | 第4章 RabbitMQ 进阶
  • 小程序如何从分类中移除商品
  • P1219 [USACO1.5] 八皇后 Checker Challenge
  • 如何在不使用脚本和插件的情况下手动删除 3Ds Max 中的病毒?
  • SpringCloud Gateway 在微服务架构下的最佳实践
  • Android studio修改app图标
  • <C++> 三、内存管理
  • 大模型开发(十五):从0到1构建一个高度自动化的AI项目开发流程(上)
  • HarmonyOS 开发基础(二)组件拼凑简单登录页面
  • flutter minio
  • ChatGPT:人工智能交互的新时代
  • C. Binary String Copying - 思维
  • 哈工大计算机网络课程网络安全基本原理详解之:密钥分发中心与公钥认证中心
  • md5sum