陈天奇团队宣布推出 TVM,在微博上表示,「我们今天发布了 TVM,和 NNVM 一起组成深度学习到各种硬件的完整优化工具链,支持手机,cuda, opencl, metal, javascript 以及其它各种后端。欢迎对于深度学习,编译原理,高性能计算,硬件加速有兴趣的同学一起加入 dmlc 推动领导开源项目社区 。」
大多数现有系统针对窄范围的服务器级 GPU 进行优化,且需要在包括手机、IOT 设备及专用加速器上部署大量工作。而 TVM 是一种将深度学习工作负载部署到硬件的端到端 IR(中间表示)堆栈。也就是说,这类解决方案能够把深度学习模型分发到各种硬件设备上、实现端到端的调优。
引子
众所周知,当前的深度学习框架基于数据流图(如tensorflow等),这种方法过于高层。并不适合硬件界别的设备执行。如下图所示:

TVM 旨在分离算法描述、调度(Schedule)和硬件接口。
首先,为了设计出适合深度学习的优化编译器,我们需要解决四大挑战:
- 高级数据流重写:如今不同的硬件设备有不同的存储体系,所以设计出好的策略来将数据运算与优化数据布局进行融合是很重要的。
- 跨线程极内存共享与协作:传统的无共享嵌套并行模型不再是最佳模型。优化内核需要对加载的共享内存的线程进行协作。
- 内部函数的张量化:The latest hardware provides new instructions that go beyond vector operations, like the GEMM operator in the TPU or the tensor core in NVIDIA’s Volta. Consequently, the scheduling procedure must break

TVM是一款由陈天奇团队推出的深度学习优化工具,它与NNVM共同构成一套完整的工具链,用于将深度学习模型部署到各种硬件设备上,包括手机、GPU、IOT设备等。TVM通过计算优化层和张量优化层解决深度学习模型在不同硬件上的优化问题,实现了从数据流图到具体硬件指令的高效转化。
概述&spm=1001.2101.3001.5002&articleId=97820897&d=1&t=3&u=9790118847c14a62bbf408c044788505)
1155

被折叠的 条评论
为什么被折叠?



