SIPR: A new framework for generating efficient code for sparse matrix computations

20Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Developing computational codes that compute with sparse matrices is a difficult and error-prone process. Automatic generation of sparse code from the corresponding dense version would simplify the programmer’s task, provided that a compiler-generated code is fast enough to be used instead of a hand-written code. We propose a new Sparse Intermediate Program Representation (SIPR) that separates the issue of maintaining complicated data structures from the actual matrix computations to be performed. Cost analysis of SIPR allows for the prediction of the program efficiency, and provides a solid basis for choosing efficient sparse implementations among many possible ones. The SIPR framework allows the use of techniques that are frequently used in the hand-written codes but previously were not considered for compiler-generated codes due to their complexity. We have developed tools that allow the automatic generation of efficient C++ implementations from SIPR, and describe experimental results on the performance of those implementations.

Cite

CITATION STYLE

APA

Pugh, W., & Shpeisman, T. (1999). SIPR: A new framework for generating efficient code for sparse matrix computations. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1656, pp. 213–229). Springer Verlag. https://doi.org/10.1007/3-540-48319-5_14

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free