[Dune] Using SuperLU-dist in dune-istl

Markus Blatt markus at dr-blatt.de
Tue Feb 28 18:17:10 CET 2012


On Tue, Feb 28, 2012 at 05:38:20PM +0100, Christoph Grüninger wrote:
> Hi,
> as stated by Jö some months ago [0] ISTL does not use SuperLU-dist.
> What would have to be done by someone willing to implement it?

He needs it urgently. I never took the time to look into it, as I did
not like what I had to do to support SuperLU and doubt the scalability
of parallel direct sparse solvers.

> Does anyone about Eigen [1] or MUMPS [2]? Eigen claims to be the
> fastes non-commercial, non-parallel linear solver compared to blas
> and I heard the solver is very robust to bad conditioned matrices.

Nice comparison, but blas has no solvers. I was intrigued by eigen
being written in C++, but it seems that it is not very powerful for
sparse matrices and falls back to using SuperLU, umfpack etc. At least
one of their tutorials tells so.

> MUMPS is a direct solver which can run in parallel and was used on
> one of Stuttgart's super computers.

I kno that the people in Bath used it. Must be comparable with
SuperLU. 

BTW: There is a review paper (probably older) comparing at least
ParDISO, SuperLU and MUMPS.

> How much work would it be to implement support for those libraries in ISTL?
> 

The serial case:
- write a test for the lib
- convert the ISTL format to plain C sparse matrix format (like for
  SuperLU)
- Writer a wrapper solver class

The parallel case:
- Convert the parallel representation to the proprietary format of the
lib (should be complicated).

The problem is that as long as you not use a custom PDELab backend you
always need to copy the matrix and then decompose which means you need
one additional matrix.

Markus

-- 
Do you need more support with DUNE or HPC in general? 

Dr. Markus Blatt - HPC-Simulation-Software & Services
http://www.dr-blatt.de
Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany
Tel.: +49 (0) 160 97590858  Fax: +49 (0)322 1108991658 




More information about the Dune mailing list