PolyDL:用于生成高性能 DL 原语的多面体优化
分布式、并行与集群计算
2020-11-18 v2 人工智能
编程语言
摘要
深度神经网络(DNNs)已彻底改变了我们生活的诸多方面。DNN 的使用正变得无处不在,包括用于图像识别、语音识别、语音合成、语言翻译等软件。然而,DNN 架构的训练在计算上是昂贵的。一旦模型创建,其在预期应用中的使用——推理任务,在计算上同样繁重,且推理对于实时使用需要快速。为获得当今的高性能,由专家程序员针对特定架构优化并通过库暴露的深度学习(DL)原语代码是常态。然而,鉴于新 DNN 架构的不断涌现,创建手工优化代码昂贵、缓慢且不可扩展。为应对这一性能-生产力挑战,本文中我们提出编译器算法以自动生成高性能的 DL 原语实现,其性能紧密匹配手工优化库。我们开发了基于多面体模型的新颖数据复用分析算法以自动推导高效执行调度。此外,由于大多数 DL 原语其核心使用矩阵乘法的某种变体,我们开发了一个灵活框架,可插入同类的库实现以替代部分循环。我们表明,这种混合编译器加最小库使用的方法带来了最先进的性能。我们开发了编译器算法以执行算子融合,从而减少通过计算机系统存储层次的数据移动。
引用
@article{arxiv.2006.02230,
title = {PolyDL: Polyhedral Optimizations for Creation of High Performance DL primitives},
author = {Sanket Tavarageri and Alexander Heinecke and Sasikanth Avancha and Gagandeep Goyal and Ramakrishna Upadrasta and Bharat Kaul},
journal= {arXiv preprint arXiv:2006.02230},
year = {2020}
}
备注
arXiv admin note: substantial text overlap with arXiv:2002.02145