arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2006.02230cs.DCcs.AIcs.PL
收藏

PolyDL:用于创建高性能DL基元的多面体优化

PolyDL: Polyhedral Optimizations for Creation of High Performance DL primitives

Intel Labs(英特尔实验室);IIT Hyderabad(印度理工学院海得拉巴分校)

Sanket Tavarageri, Alexander Heinecke, Sasikanth Avancha, Gagandeep Goyal, Ramakrishna Upadrasta, Bharat Kaul

摘要:

深度神经网络(DNN)已经彻底改变了我们生活的许多方面。DNN的使用正变得无处不在,包括在用于图像识别、语音识别、语音合成、语言翻译的软件中,仅举几例。然而,DNN架构的训练在计算上是昂贵的。一旦模型被创建,其在预期应用中的使用-推理任务,在计算上也是繁重的,并且推理需要快速以用于实时的使用。为了获得当今的高性能,由专业程序员通过库公开的针对特定架构优化的深度学习(DL)原语的代码是规范。然而,鉴于新的DNN架构不断出现,创建手动优化的代码是昂贵的,缓慢的,并且不可扩展。为了解决这一性能生产力的挑战,在本文中,我们提出了编译器算法自动生成高性能的实现DL原语,密切配合的手优化库的性能。我们开发了新的数据重用分析算法,使用多面体模型自动获得高效的执行时间表。此外,由于大多数DL原语在其核心使用矩阵乘法的一些变体,我们开发了一个灵活的框架,其中可以插入相同的插件库实现来代替循环的子集。我们表明,这样的混合编译器加上最小的库使用方法的结果在国家的最先进的性能。我们开发的编译器算法也执行操作符融合,减少数据移动通过计算机系统的存储层次结构。

英文摘要:

Deep Neural Networks (DNNs) have revolutionized many aspects of our lives. The use of DNNs is becoming ubiquitous including in softwares for image recognition, speech recognition, speech synthesis, language translation, to name a few. he training of DNN architectures however is computationally expensive. Once the model is created, its use in the intended application - the inference task, is computationally heavy too and the inference needs to be fast for real time use. For obtaining high performance today, the code of Deep Learning (DL) primitives optimized for specific architectures by expert programmers exposed via libraries is the norm. However, given the constant emergence of new DNN architectures, creating hand optimized code is expensive, slow and is not scalable. To address this performance-productivity challenge, in this paper we present compiler algorithms to automatically generate high performance implementations of DL primitives that closely match the performance of hand optimized libraries. We develop novel data reuse analysis algorithms using the polyhedral model to derive efficient execution schedules automatically. In addition, because most DL primitives use some variant of matrix multiplication at their core, we develop a flexible framework where it is possible to plug in library implementations of the same in lieu of a subset of the loops. We show that such a hybrid compiler plus a minimal library-use approach results in state-of-the-art performance. We develop compiler algorithms to also perform operator fusions that reduce data movement through the memory hierarchy of the computer system.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑