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

LazyTensor:将急切执行与特定于域的编译器相结合

LazyTensor: combining eager execution with domain-specific compilers

Google Research, Brain(谷歌研究院 Brain部门);Facebook(脸书);Google, Cloud AI(谷歌云人工智能部门)

Alex Suhan, Davide Libenzi, Ailing Zhang, Parker Schuh, Brennan Saeta, Jie Young Sohn, Denys Shabalin

摘要:

领域特定的优化编译器已经证明了显着的性能和可移植性的好处,但需要在其专门的IR表示的程序。这些编译器的现有前端受到“语言子集问题”的困扰,其中一些宿主语言功能在与特定领域编译器交互的用户程序的子集中不受支持。相比之下,按运行定义的ML框架-俗称“渴望”模式-由于其易用性和表达性而流行,其中可以使用主机程序设计语言的全部功能。LazyTensor是一种针对特定领域编译器的技术,而不会牺牲按运行定义的人体工程学。该技术最初是为了在云TPU上支持PyTorch而开发的,它与一个基本上共享的实现一起被Swift用于跨CPU、GPU和TPU的TensorFlow,证明了该方法在(1)Tensor实现、(2)硬件加速器和(3)程序设计语言中的通用性。

英文摘要:

Domain-specific optimizing compilers have demonstrated significant performance and portability benefits, but require programs to be represented in their specialized IRs. Existing frontends to these compilers suffer from the "language subset problem" where some host language features are unsupported in the subset of the user's program that interacts with the domain-specific compiler. By contrast, define-by-run ML frameworks-colloquially called "eager" mode-are popular due to their ease of use and expressivity, where the full power of the host programming language can be used. LazyTensor is a technique to target domain specific compilers without sacrificing define-by-run ergonomics. Initially developed to support PyTorch on Cloud TPUs, the technique, along with a substantially shared implementation, has been used by Swift for TensorFlow across CPUs, GPUs, and TPUs, demonstrating the generality of the approach across (1) Tensor implementations, (2) hardware accelerators, and (3) programming languages.

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

↑