Computer Science Department
School of Computer Science, Carnegie Mellon University


Spark98: Sparse Matrix Kernels for Shared Memory and Message Passing Systems

David R. O'Hallaron

October 1997

Keywords: Benchmark, finite element, parallel computing, sparse matrix

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.

20 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by