目录
3. Optimizing Computational Graphs
4. Generating Tensor Operations
4.1 Tensor Expression and Schedule Space
4.2 Nested Parallelism with Cooperation
4.4 Explicit Memory Latency Hiding
5.1 Schedule Space Specification
5.4 Distributed Device Pool and RPC
6.1 Server-Class GPU Evaluation
6.4 FPGA Accelerator Evaluation
Abstract
越来越多的应用需要将机器学习应用到各种各样的硬件设备上。当前框架依赖于特定供应商的运算符库(vendor-specific library),并针对小范围的服务器级GPU进行优化。将工作负载(workloads) 部署到新平台,例如手机,嵌入式设备和加速器(如FPGA,ASIC),需要大量的手动工作。
我们发布了TVM,这是一种可提供计算图级优化(graph-level optimization) 和运算符级优化(operator-level optimization) 的编译器,可以为不同硬件后端的深度学习工作负载提供性能可移植性。TVM解决了深度学习面临的优化问题,例如高级运算符融合,映射到任意硬件原语,以及内存延迟隐藏。它还通过采用新颖的,基于学习的成本建模方法来快速搜索代码优化,从而自动优化低级程序来符合硬件特性。
实验结果表明,TVM可以提供跨硬件后端的性能,这些后端与用于低功耗CPU,移动GPU和服务器级GPU的最先进的手动调整库相比具有竞争力。我们还展示了TVM针对新加速器后端的能力,例如基于FPGA的通用深度学习加速器。该系统是在几家大公司内部开源和生产使用的。
硬件