nelli:MLIR的轻量级前端

摘要:多级中间表示(MLIR)是一种新颖的编译器基础架构,旨在提供模块化和可扩展的组件,以促进构建特定领域的编译器。然而,由于MLIR在中间抽象级别上对程序进行建模,而大多数现有的前端都在非常高的抽象级别上,MLIR中可用的基本转换的语义和机制很难研究和应用本身。为了解决这些挑战,我们开发了一种轻量级、嵌入式Python的领域专用语言nelli,用于生成MLIR代码。nelli利用现有的MLIR基础架构为各种MLIR功能开发了Pythonic的语法和语义。我们描述了nelli的设计目标,讨论了我们实现的关键细节,并演示了nelli如何轻松地定义和降低计算内核到不同硬件平台。

作者:Maksim Levental, Alok Kamatar, Ryan Chard, Kyle Chard, Ian Foster

论文ID:2307.16080

分类:Programming Languages

分类简称:cs.PL

提交时间:2023-08-15

PDF 下载: 英文版 中文版pdf翻译中