Please use this identifier to cite or link to this item: http://hdl.handle.net/1813/7409
 Title: A Generic Programming System for Sparse Matrix Computations Authors: Mateev, NikolayKotlyar, VladimirPingali, KeshavStodghill, Paul Keywords: computer sciencetechnical report Issue Date: Jul-1999 Publisher: Cornell University Citation: http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR99-1755 Abstract: Sparse matrices are stored in compressed formats in which zeros are not stored explicitly. Writing high-performance sparse matrix libraries is a difficult and tedious job because there are many compressed formats in use and each of them requires specialized code. In this paper, we argue that (i) compressed formats should be viewed as {\em indexed-sequential access structures} (in the database sense), and (ii) efficient sparse codes exploit such indexing structures wherever possible. This point of view leads naturally to restructuring compiler technology that can be used to synthesize many sparse codes from high-level algorithms and specifications of sparse formats, exploiting indexing structures for efficiency. We show that appropriate abstractions of the indexing structures of commonly used formats can be provided to such a compiler through the type structure of a language like C++. Finally, we describe experimental results obtained from the {\em Bernoulli Sparse Compiler} which demonstrate that the performance of code generated by this compiler is comparable to the performance of programs in the NIST Sparse BLAS library. One view of this system is that it exploits restructuring compiler technology to perform a novel kind of template instantiation. URI: http://hdl.handle.net/1813/7409 Appears in Collections: Computer Science Technical Reports

Files in This Item:

File Description SizeFormat