about
Compiler Support for Sparse Tensor Computations in MLIR (arxiv.org)
1 point by mcovalt on Apr 27, 2022 | hide | past | pdf | discuss on HN

In plain words: Sparsity is declared as a property of the data, and a compiler turns a plain description of the calculation into code that skips the zeros automatically. This replaces hand-written sparse code, which is complex and error-prone, and is built into the MLIR compiler framework.

Abstract

Sparse tensors arise in problems in science, engineering, machine learning, and data analytics. Programs that operate on such tensors can exploit sparsity to reduce storage requirements and computational time. Developing and maintaining sparse software by hand, however, is a complex and error-prone task. Therefore, we propose treating sparsity as a property of tensors, not a tedious implementation task, and letting a sparse compiler generate sparse code automatically from a sparsity-agnostic definition of the computation. This paper discusses integrating this idea into MLIR.

Aart J. C. Bik, Penporn Koanantakool, Tatiana Shpeisman, Nicolas Vasilache, Bixia Zheng, Fredrik Kjolstad
arXiv:2202.04305 · cs.PL · submitted Feb 9, 2022
abstract · pdf · html

add comment on HN