TVM简介

TVM

FGPA,CPU, GPU

1.什么是TVM?

是一个支持GPU,CPU,FPGA指令生成的开源编译器框架

2.特点

基于图和算符结构来优化指令生成,最大化硬件执行效率。其中使用了很多方法

来改善硬件执行速度,包括算符融合、数据规划、基于机器学习的优化器等。它

向上对接Tensorflow、Pytorch等深度学习框架,向下兼容GPU、CPU、ARM、

TPU等硬件设备。

3.整体架构

TVM是一个端到端的指令生成器。

整个架构是基于图描述结构,不论是对指令的优化还是指令生成,一个图结构

清晰的描述了数据流方向,操作之间的依赖关系等。

4.主要特点

1、基于GPU、TPU等硬件架构,将张量运算作为一个基本的算符,通过把一个深

度学习网络描述成图结构来抽象出数据计算流程。在这样的图结构基础上,更方便

记忆优化。同时能够有更好的向上向下兼容性,同时支持多种深度学习框架和硬件

架构。

2、巨大的优化搜索空间。在优化图结构方面,其不再局限于通过某一种方式,而是

通过机器学习方法来搜索可能的空间来最大化部署效率。这种方式虽然会导致编译器

较大的计算量,但是更加通用。

TVM提供了一个非常简单的端到端用户接口,通过调用TVM的API可以很方便的进行

硬件部署。比如:

python 复制代码
import tvm as t

# 将keras模型输入到TVM,指定部署的硬件GPU,然后进行优化和代码生成。
graph, params = t.fronted.from_keras(keras_model)
target = t.target.cuda()
graph, lib, params = t.compiler.build(graph, target, params)

TVM也提供了Java、C++和python界面供用户统一调用。

5.图结构基本优化

TVM图优化策略:

算符融合:将可以在硬件上用一个算符完成的多个连续运算合并;

常量折叠:将可以预先计算的数据放在编译器中完成,减少硬件计算;

存储规划:预先为中间数据分配存储空间来存储中间值,避免中间数据无法存储在片上而增加片外

存储开销;

数据规划:重新排列数据有利于硬件计算。

6.张量计算

TVM采用Halide思想,通过使用schedule来对张量计算进行等价变换,从中计算出执行效率最高的

schedule结构。整个schedule流程如下:

还增加了三种针对GPU和TPU的schedule方式:spicile memory scope,

tensorrization, latency hiding。

并行化计算:

需要考虑两点问题:并行度、数据共享。

TVM提出了memory scope的概念,其将数据计算进行可并行和不可并行分类,对于可以并行计算的,

就可以使用多线程来并行计算,而不可并行,则需要等待被依赖数据计算完成。

存储读写优化

7.自动优化器

一个机器学习模型来寻找最优化的schedule结构。其包含两部分:一部分是基于schedule方式产生

所有可能的计算结构;另外一个是机器学习代驾模型来预测可能性。

8.编译流程

相关推荐
恒锐丰科技林技术员5 小时前
EG2302 半桥驱动芯片详解:高压半桥高性价比栅极驱动方案
经验分享·嵌入式硬件·硬件工程
恒锐丰科技林技术员15 小时前
EG1191 宽压降压 DC‑DC 芯片解析:高性价比工业电源方案
经验分享·嵌入式硬件·硬件工程
会编程是什么感觉...15 小时前
立创转AD库工具升级版--获取元件库与封装库
硬件工程·ad·pcb·嘉立创
wp123_117 小时前
硬件设计笔记:1μH功率电感选型实战——线艺 XFL4020-102MEC 与 国产 pin to pin MVLH4020-1R0M 详细参数测评
笔记·科技·硬件架构·硬件工程
HUI-47420 小时前
EG1131|SOT23‑6 30V/1.5A 电流模式同步降压 DC‑DC,小体积消费类电源优选
嵌入式硬件·硬件工程
Jaixln_HRF21 小时前
芯维尔CN8010 1.2A/6V同步降压转换器芯片,集成350/230mΩ MOSFET与1.5MHz高频,用于汽车电子/IoT/便携仪器
嵌入式硬件·物联网·硬件工程
深圳市恒锐丰科技杨生1 天前
EG2124A 260V 三相独立半桥栅极驱动芯片|BLDC 外置 MOS 三相桥驱动方案
嵌入式硬件·硬件工程
HUI-4741 天前
EG1133|SOT23‑6 18V/3A 电流模式同步降压 DC‑DC,中小功率大电流紧凑型电源优选
嵌入式硬件·硬件工程
tju新生代魔迷2 天前
Verilog HDL 学习笔记(十)| 第10章 时序和延迟
笔记·学习·fpga开发
恒锐丰科技林技术员2 天前
EG2226 全桥驱动芯片:高压电机逆变驱动的高性价比方案
经验分享·嵌入式硬件·硬件工程