vix.ing · top · new · best · stats

Sympiler: Transforming Sparse Matrix Codes by Decoupling Symbolic Analysis

2017/05/18 by Kazem Cheshmi, Shoaib Kamil, Michelle Mills Strout +1 · 1 citation
Computer Science · #cs.PL

paper · pdf · doi:10.1145/3126908.3126936

published as in SC 2017, Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis · 12 pages

arxiv created 2017/05/18 · arxiv updated 2018/01/08

Abstract

Sympiler is a domain-specific code generator that optimizes sparse matrix computations by decoupling the symbolic analysis phase from the numerical manipulation stage in sparse codes. The computation patterns in sparse numerical methods are guided by the input sparsity structure and the sparse algorithm itself. In many real-world simulations, the sparsity pattern changes little or not at all. Sympiler takes advantage of these properties to symbolically analyze sparse codes at compile-time and to apply inspector-guided transformations that enable applying low-level transformations to sparse codes. As a result, the Sympiler-generated code outperforms highly-optimized matrix factorization codes from commonly-used specialized libraries, obtaining average speedups over Eigen and CHOLMOD of 3.8X and 1.5X respectively.

Cited by

Related