Sparse Matrix Kernels for
David O'Hallaron,
Carnegie Mellon University, April, 1998 |
Spark98 is a collection of 10 sparse matrix kernels for shared memory and message passing systems. Each kernel performs a sequence of sparse matrix vector product (SMVP) operations. The aim is to provide system builders with a set of example sparse matrix codes that are simple, realistic, and portable.
Each kernel is a program/mesh pair; there are 5 programs and 2 meshes (sf10 and sf5) for a total of 10 kernels. The meshes were produced by the CMU Quake project. The programs are written in C and consist of a baseline sequential program (smv), three shared memory programs (lmv, rmv, and hmv), and a message passing program (mmv). The programs are points on a continuum defined by how carefully they partition data references among PEs. The shared memory programs can be compiled for either the Posix or SGI thread interfaces. The message passing programs are written for the MPI interface.
Downloading instructions:
Downloaded File | Description | Compressed Size | Expanded Size |
---|---|---|---|
spark98.tar.Z | The complete Spark98 distribution (with the sf10 and sf5 meshes) | 28 MB | 70 MB |
spark98lite.tar.Z | A smaller Spark98 distribution (without the sf5 meshes) | 6 MB | 15 MB |
spark98sf5.tar.Z | The sf5 meshes | 22 MB | 56 MB |
To expand "foo.tar.Z", type "uncompress foo.tar.Z; tar xvf foo.tar".
For detailed information on the different kernels and how to use and run them, see the README file from the Spark98 distribution. Other papers with more general background information are also available.
Last modified: Wed Apr 6 18:10:09 EDT 2005