将您自己的Codegen带到深度学习开发者中
Bring Your Own Codegen to Deep Learning Compiler
摘要:
深度神经网络(DNN)已经被广泛应用于许多应用中,并且加速器作为支持这些应用的快速和高效推理任务的使能器而出现。然而,为了实现高性能的高模型覆盖率,每个加速器供应商都必须开发一个完整的编译器堆栈来摄取,优化和执行DNN。这对软件栈的开发和维护提出了重大挑战。此外,供应商必须不断更新其硬件和/或软件,以应对DNN模型架构和运营商的快速发展。为了解决这些问题,本文提出了一个开源框架,使用户能够只专注于他们的专有代码生成工具的开发,尽可能多地重用现有的深度学习编译器中的组件。我们的框架为用户提供了灵活和易于使用的接口,将他们的模型划分为可以在“最好的”处理器上执行的部分,以利用加速器的强大计算能力。我们的案例研究表明,我们的框架已经部署在多个商业供应商的编译器堆栈只有几千行代码。
英文摘要:
Deep neural networks (DNNs) have been ubiquitously applied in many applications, and accelerators are emerged as an enabler to support the fast and efficient inference tasks of these applications. However, to achieve high model coverage with high performance, each accelerator vendor has to develop a full compiler stack to ingest, optimize, and execute the DNNs. This poses significant challenges in the development and maintenance of the software stack. In addition, the vendors have to contiguously update their hardware and/or software to cope with the rapid evolution of the DNN model architectures and operators. To address these issues, this paper proposes an open source framework that enables users to only concentrate on the development of their proprietary code generation tools by reusing as many as possible components in the existing deep learning compilers. Our framework provides users flexible and easy-to-use interfaces to partition their models into segments that can be executed on "the best" processors to take advantage of the powerful computation capability of accelerators. Our case study shows that our framework has been deployed in multiple commercial vendors' compiler stacks with only a few thousand lines of code.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。