paperbot · PL 论文追踪

RSS

Mosaic: An Interoperable Compiler for Tensor Algebra

PLDI 7(PLDI)2023
Manya Bansal, Olivia Hsu, Kunle Olukotun, Fredrik Kjolstad

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

We introduce Mosaic, a sparse tensor algebra compiler that can bind tensor expressions to external functions of other tensor algebra libraries and compilers. Users can extend Mosaic by adding new functions and bind a sub-expression to a function using a scheduling API. Mosaic substitutes the bound sub-expressions with calls to the external functions and automatically generates the remaining code using a default code generator. As the generated code is fused by default, users can productively leverage both fusion and calls to specialized functions within the same compiler. We demonstrate the benefits of our dual approach by showing that calling hand-written CPU and specialized hardware functions can provide speedups of up to 206× against fused code in some cases, while generating fused code can provide speedups of up to 3.57× against code that calls external functions in other cases. Mosaic also offers a search system that can automatically map an expression to a set of registered external functions. Both the explicit binding and automatic search are verified by Mosaic. Additionally, the interface for adding new external functions is simple and general. Currently, 38 external functions have been added to Mosaic, with each addition averaging 20 lines of code.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1940,
  title = {Mosaic: An Interoperable Compiler for Tensor Algebra},
  author = {Manya Bansal and Olivia Hsu and Kunle Olukotun and Fredrik Kjolstad},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {PLDI},
  year = {2023},
  doi = {10.1145/3591236}
}