Despite significant investment in software infrastructure, machine learning systems, runtimes and compilers do not compose properly. We propose a new design aiming at providing unprecedented degrees of modularity, composability and genericity. This paper discusses a structured approach to the construction of domain-specific code generators for tensor compilers, with the stated goal of improving the productivity of both compiler engineers and end-users. The approach leverages the natural structure of tensor algebra. It has been the main driver for the design of progressive lowering paths in \MLIR. The proposed abstractions and transformations span data structures and control flow with both functional (SSA form) and imperative (side-effecting) semantics. We discuss the implications of this infrastructure on compiler construction and present preliminary experimental results.
翻译:尽管在软件基础设施、机器学习系统、运行时间和编译者方面投入了大量资金,但是这些投入并没有恰当地组成。我们提议了一个新的设计,旨在提供空前程度的模块化、可变性和通用性。本文讨论了为高压编译者建造特定域代码生成器的结构性办法,其明确目标是提高编译者工程师和最终用户的生产率。这种方法利用了高压代数的自然结构。它一直是在\MLIR中设计逐步降低路径的主要驱动力。拟议的抽象和变换将数据结构和控制流分为功能(特别服务协定形式)和必要(副作用)语义。我们讨论了这一基础设施对编译者建造的影响并提出了初步实验结果。我们讨论了这一基础设施对编译者建造的影响。