Fork me on GitHub

Sympiler

a code generator for transforming sparse matrix codes

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. Sympiler then generates specialized code or runtime schedule based on the symbolic information. The following figure shows how the input code to Sympiler is transformed internally to an optimized code. For more information, See Sympiler overview

Sympiler

Sympiler can be built from source code. Please look at the Getting started with Sympiler for configuration instructions. The details of the Sympiler internals are briefly explained in Sympiler docs .

Transforming Sparse Matrix Computations
Kazem Cheshmi
University of Toronto, Computer Science, PhD Thesis BibTex Thesis Sympiler


Optimizing Sparse Computations Jointly
Kazem Cheshmi, Michelle Mills Strout, and Maryam Mehri Dehnavi
Symposium on Principles and Practice of Parallel Programming , PPoPP'22 BibTex PDF


NASOQ: Numerically Accurate Sparsity-Oriented QP Solver
Kazem Cheshmi, Danny Kaufman, Shoaib Kamil, Maryam Mehri Dehnavi
SIGGRAPH 2020. NASOQ Webpage


ParSy: Inspection and Transformation of Sparse Matrix Computations for Parallelism
Kazem Cheshmi, Shoaib Kamil, Michelle Mills Strout, Maryam Mehri Dehnavi
International Conference for High Performance Computing, Networking, Storage, and Analysis, SC'18
ACM DL BibTex EndNote ACM Ref ParSy Talk ParSy SC


Sympiler: Transforming Sparse Matrix Codes by Decoupling Symbolic Analysis
Kazem Cheshmi, Shoaib Kamil, Michelle Mills Strout, Maryam Mehri Dehnavi
International Conference for High Performance Computing, Networking, Storage and Analysis, SC'17
DOI: https://doi.org/10.1145/3126908.3126936. BibTex EndNote ACM Ref Slides PDF


Decoupling Symbolic from Numeric in Sparse Matrix Computations
Kazem Cheshmi, Maryam Mehri Dehnavi
First place in 2017 ACM SRC Grand Finals Winners Poster PDF


To know how to cite Sympiler in your work, please check here .
Development
docs
issues
code
Sympiler is developed and maintained by members of Prof. Mehri Dehnavi’s group at the University of Toronto, and also Prof. Kazem Cheshmi at McMaster University.

Sympiler is supported in part by NSERC Discovery Grants (RGPIN-06516, DGECR00303), the Canada Research Chairs program, Ontario Early Researcher award, the Government of Canada’s New Frontiers in Research Fund NFRFE-2019-00503, Digital Research Alliance of Canada (Scinet), and Extreme Science and Engineering Discovery Environment (XSEDE).


Follow us on Twitter to stay tuned!
License
Sympiler is open source, under a commercially permissive MIT license. We encourage you to use it in other projects, open source or commercial!

Design copied from the Halide homepage