Spark98: Sparse Matrix Kernels for
Shared Memory and Message Passing Systems
David R. O'Hallaron
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
droh@cs.cmu.edu
Abstract: Spark98 is a collection of sparse matrix kernels for shared
memory and message passing systems. Our aim is to provide system
builders with a set of example sparse matrix codes that are simple,
realistic, and portable. Each kernel performs a sequence of sparse
matrix vector product operations using matrices that are derived from
a family of three-dimensional finite element earthquake applications.
We describe the computational structure of the kernels, summarize
their performance on a parallel system, and discuss some of the
insights that such kernels can provide. In particular we notice that
efficient parallel programming of sparse codes requires careful
partitioning of data references, regardless of the underlying memory
system. So on one hand, efficient shared memory programs can be just
as difficult to write as efficient message passing programs. On the
other hand, shared memory programs are not necessarily less efficient
than message passing programs.
@techreport (spark98,
author = "D. O'Hallaron" ,
title = "Spark98: Sparse Matrix Kernels for Shared Memory and Message Passing Systems",
institution= "School of Computer Science, Carnegie Mellon University" ,
number = "CMU-CS-97-178" ,
month = oct,
year = "1997" ,
)