1,谈背景,也就是谈有什么诉求或者痛点,然后产生了TVM
caffe 等深度学习框架在不同的硬件架构上需要写不同的算子。以前开发人员写算子的时候,要写cpu版本啊,GPU版本啊。现在有个想法,我们能不能写一次就行了。期望存在一个中间层,可以将前端的表达式(算子),转换成适配于硬件架构,这个算法设计人员不需要重复劳作以及减少算法设计难度。TVM应运而生了。
2,组成
TVM 最上层是简易的算法表达式,中间就是scachle 层,里面做了算子的优化切片的功能,数据搬运和数据计算调度,最后转化为硬件指令这些操作。
聊点我的个人理解,一般来说,我们写代码只要把业务过程描述就可以,比如先执行什么模块,再执行什么模块。所以我的理解里面TVM就是个编译器,对业务过程做了描述compute之后,还需要做业务优化调度,还有映
3,这里应该写每个模块的设计。
4,从并行的角度,来理解Tvm的几个操作吧
1,splite
切轴操作。可以理解成单个for 循环编程多
TVM,我不懂
最新推荐文章于 2022-11-17 10:37:58 发布