Re: OON: How do I make sparse linear algrebra faster?

From: William Gropp (gropp@mcs.anl.gov)
Date: Wed Apr 05 2000 - 10:49:48 EST


At 01:43 PM 4/4/00 -0700, Brian McCandless wrote:

>Hello All,
>
>I have an application that spends nearly all its time in a generalize
>eigenvalue problem with very large (say 10-20 million rows)
>and very sparse (either ~16 or ~44 non zeros per row) matrices.
>[note: my colleagues with the ASCI project will probably object to me
>calling
>these matrices "very large"].
>
>I currently use Aztec from Sandia (written mostly in C) for
>both the storage format (modified sparse compressed row)
>and the iterative methods. In the latest versions of Aztec, there is
>a matrix free interface that permits the application writer to supply
>their own
>storage formats and matrix vector multiplication routines.
>
>I plan to use this matrix free interface in order to support
>symmetric matrices in my application (currently not supported
>directly in Aztec). I am doing this mainly to save on memory.
>But while I'm at it, I would also like to improve performance.
>Here are my questions:

The major factor limiting sparse matrix-vector multiply performance for
matrices that do not fit in cache is the limited memory bandwidth in most
(non-vector) computers. See
http://www-unix.mcs.anl.gov/~gropp/papers/pcfd99/gkks.ps , where we show
that many systems achieve near the peak possible performance with simple
AIJ format (peak here defined by the system, not just the clock rate and
number of floating point units). Of the items you mention, only reordering
for cache is usually significant (relative to the limits imposed by the
hardware).

Bill

--------------------- Object Oriented Numerics List --------------------------
* To subscribe/unsubscribe: use the handy web form at
http://oonumerics.org/oon/
* If this doesn't work, please send a note to owner-oon-list@oonumerics.org



This archive was generated by hypermail 2b29 : Mon Apr 10 2000 - 12:47:56 EST