MSPAI: Difference between revisions

From Sccswiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 66: Line 66:


* [http://www.lrr.in.tum.de/Par/arch/infiniband/#cluster InfiniBand-Cluster] of the Lehrstuhl Rechnertechnik und Rechnerorganisation/<br>Parallelrechnerarchitektur of Technische Universtität München:
* [http://www.lrr.in.tum.de/Par/arch/infiniband/#cluster InfiniBand-Cluster] of the Lehrstuhl Rechnertechnik und Rechnerorganisation/<br>Parallelrechnerarchitektur of Technische Universtität München:
** 128 processors: AMD Opteron &trade; Processor 850
** 128 processors: AMD Opteron&trade; Processor 850
** Architecture: x86_64
** Architecture: x86_64
** Compilerversion: gcc version 3.3.3 (SuSE Linux)
** Compilerversion: gcc version 3.3.3 (SuSE Linux)

Revision as of 13:00, 29 October 2008

Modified Sparse Approximate Inverses

This is a dummy textCurrent version is 1.1


Based upon the well-known sparse approximate inverse preconditioner SPAI,
we developed the modified sparse approximate inverse (MSPAI) preconditioner.


Theory

MSPAI is a preconditioner for large sparse and ill-conditioned systems of
linear equations. We extended the basic SPAI minimization

Error creating thumbnail: Unable to save thumbnail to destination

to target form and further generalized it in order to add additional probing constraints:

Error creating thumbnail: Unable to save thumbnail to destination

For an overview of the versatile employment possibilities of our MSPAI formulation,
see this pdf taken from here.


Implementation and Features

The entire implementation is done in C++ with parallelization in MPI. Except the Block
SPAI approach, we cover the full functionality of SPAI 3.2.

Methodical improvements

  • Extension to target form: allow probing.
  • Support for explicit and inverse approximations, both in factorized
    and unfactorized form and probing of Schur complements, see pdf.
  • Improve given factorized preconditioners such as ILU, AINV, FSAI,
    FSPAI, etc subject to probing subspaces.
  • Compute sparse spectrally equivalent approximations to dense or
    even full matrices.

Technical improvements

  • Support for complex valued problems.
  • Support for sparse QR methods using CSparse by Tim Davis.
  • Caching approach to avoid redundant QR decompositions.
  • Implementation of QR updates to accelerate pattern update steps.
  • Support for maximum sparsity patterns.
  • Arbitrary start patterns, i.e. possibility to compute a static SPAI
    without pattern update steps.

Todo

  • Mex interface for MATLAB.
  • PetSc interface.
  • Support for other LAPACK implementations than ATLAS.
  • Wider coverage of file formats for sparse matrices, now support for
    Matrix Market format only.
  • Full support for complex problems in all features.


Download

MSPAI 1.1

Thesis on MSPAI

  • Ph.D. thesis about MSPAI, both theory and implementation: mediatum.
  • Details about sparse QR methods in SPAI applications (german only): pdf.
  • Further details about implementation (german only): pdf.


Tested environments

  • InfiniBand-Cluster of the Lehrstuhl Rechnertechnik und Rechnerorganisation/
    Parallelrechnerarchitektur of Technische Universtität München:
    • 128 processors: AMD Opteron™ Processor 850
    • Architecture: x86_64
    • Compilerversion: gcc version 3.3.3 (SuSE Linux)
  • i686-pc-linux-gnu:
    • Processor: Intel® Pentium® D CPU 2.80GHz
    • Architecture: i686
    • Compilerversion: gcc version 4.1.1 (Gentoo 4.1.1-r3), gcc version 4.1.2 (Gentoo 4.1.2 p1.1)


MSPAI is provided "as is", without warranty and support of any kind, express or implied,
including but not limited to the warranties of merchantability, fitness for a particular
purpose, title and non-infringement. In no event shall the copyright holders or anyone
distributing MSPAI be liable for any damages or other liability, whether in contract, tort
or otherwise, arising from, out of or in connection with MSPAI or the use or other dealings
in MSPAI.


MSPAI References

<pubsccs>nocaption=1&persid=53&utypid=1020&datum=2007&lang=en</pubsccs><pubsccs>nocaption=1&pubid=620&lang=en</pubsccs><pubsccs>nocaption=1&pubid=645&lang=en</pubsccs><pubsccs>nocaption=1&pubid=654&lang=en</pubsccs><pubsccs>nocaption=1&pubid=677&lang=en</pubsccs><pubsccs>nocaption=1&pubid=499&lang=en</pubsccs><pubsccs>nocaption=1&persid=53&utypid=2030&datum=2008&lang=en</pubsccs><pubsccs>nocaption=1&lang=en&persid=58&datum=2008&utypid=2040</pubsccs>* For further references on Sparse Approximate Inverses see this page.


Authors


License

MSPAI: Modified Sparse Approximate Inverses
Copyright © 2007, 2008, Thomas Huckle, Alexander Kallischko and Matous Sedlacek.

This program is free software: you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with
this program. If not, see http://www.gnu.org/licenses/.

If you obtain any results with MSPAI we would appreciate that you refer to MSPAI.


Funding

This work has partially been funded by Bund der Freunde der Technischen Universität München e.V. (BdF),
Antrag 2008-09.