[petsc-users] Exploiting symmetry with direct solvers

pascal.tremblay at fr.michelin.com pascal.tremblay at fr.michelin.com
Thu Apr 9 02:06:13 CDT 2015


Hi,

There is also Intel MKL Pardiso that I have been using lately (at 
Michelin) and I have extended the mkl_pardiso.c interface to PETSc to 
support
PCCHOLESKY (with an SEQSBAIJ matrix and a block size of one) and not only 
PCLU (with a SEQAIJ matrix).

We have been testing it internally and so fare it is robust and very fast 
for a direct solver.

I plan to submit my modifications to the main trunk (pull request) in the 
coming days ...

I have seen the extension to Cluster Pardiso in the main trunk and it also 

done only for LU and MPIAIJ matrices.

It would be nice to extended it to symetric matrices as well.

I wanted to do the same extension for the Cluster Pardiso, but I didn't 
have time yet (and it does not work with with OpenMPI, but works with 
Intel MPI).

Regards,

Pascal Tremblay
---------------------------------------------------------------------------------------------
Mécanique Numérique
Michelin, Centre de technologie de Ladoux -DGRD/CTEU/PM/SIM/ER
63040 Clermont-Ferrand Cedex 09 - FRANCE
Tél. (ext.): 04 73 10 91 63
Tél. (int.): 61 163
 
---------------------------------------------------------------------------------------------
Confidentialité D3- Conservation <90j





De :    David Knezevic <david.knezevic at akselos.com>
A :     Hong <hzhang at mcs.anl.gov>, 
Cc :    PETSc users list <petsc-users at mcs.anl.gov>
Date :  09/04/2015 04:17
Objet : Re: [petsc-users] Exploiting symmetry with direct solvers
Envoyé par :    <petsc-users-bounces at mcs.anl.gov>



On Wed, Apr 8, 2015 at 9:28 PM, Hong <hzhang at mcs.anl.gov> wrote:
David ,
I'm curious about how to do a symmetric LDL^T factorization (instead of 
LU) with MUMPS and SuperLU. Based on this example:

http://www.mcs.anl.gov/petsc/petsc-3.4/src/ksp/ksp/examples/tutorials/ex52.c.html

my understanding is as follows:

- With MUMPS I gather that we need to specify:

MatSetOption(A,MAT_SPD,PETSC_TRUE);
PCSetType(pc,PCCHOLESKY);

I guess "-pc_type cholesky" on the command line is equivalent to the 
PCSetType call, right? Is specifying MAT_SPD required in order for MUMPS 

to do an LDL^T factorization?
Mumps supports Cholesky factorization for symmetric, and symmetric+spd 
matrices.  You may consult mumps user manual.


OK, thanks. But I was also wondering about the PETSc interface to MUMPS.

I consulted the MUMPS manual, but it just says that you need to specify 
"SYM=1" in order to get an LDL^T factorization. I gather that if we set 
MatSetOption(A,MAT_SPD,PETSC_TRUE); in PETSc then that will tell MUMPS to 
use SYM=1, right?

Thanks,
David


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150409/3fcd504e/attachment-0001.html>


More information about the petsc-users mailing list