[petsc-users] SuperLU_dist issue in 3.7.4

Anton Popov popov at uni-mainz.de
Tue Oct 25 08:20:39 CDT 2016


Hong,

I get all the problems gone and valgrind-clean output if I specify this:

-mat_superlu_dist_fact SamePattern_SameRowPerm

What does SamePattern_SameRowPerm actually mean?
Row permutations are for large diagonal, column permutations are for 
sparsity, right?
Will it skip subsequent matrix permutations for large diagonal even if 
matrix values change significantly?

Surprisingly everything works even with:

-mat_superlu_dist_colperm PARMETIS
-mat_superlu_dist_parsymbfact TRUE

Thanks,
Anton

On 10/24/2016 09:06 PM, Hong wrote:
> Anton:
>
>>     If replacing superlu_dist with mumps, does your code work?
>     yes
>
> You may use mumps in your code, or tests different options for 
> superlu_dist:
>
>   -mat_superlu_dist_equil: <TRUE> Equilibrate matrix (None)
>   -mat_superlu_dist_rowperm <LargeDiag> Row permutation (choose one 
> of) LargeDiag NATURAL (None)
>   -mat_superlu_dist_colperm <METIS_AT_PLUS_A> Column permutation 
> (choose one of) NATURAL MMD_AT_PLUS_A MMD_ATA METIS_AT_PLUS_A PARMETIS 
> (None)
>   -mat_superlu_dist_replacetinypivot: <FALSE> Replace tiny pivots (None)
>   -mat_superlu_dist_parsymbfact: <FALSE> Parallel symbolic 
> factorization (None)
>   -mat_superlu_dist_fact <SamePattern> Sparsity pattern for repeated 
> matrix factorization (choose one of) SamePattern 
> SamePattern_SameRowPerm (None)
>
> The options inside <> are defaults. You may try others. This might 
> help narrow down the bug.
>
> Hong
>
>
>>     Hong
>>
>>         On 10/24/2016 05:47 PM, Hong wrote:
>>>         Barry,
>>>         Your change indeed fixed the error of his testing code.
>>>         As Satish tested, on your branch, ex16 runs smooth.
>>>
>>>         I do not understand why on maint or master branch, ex16
>>>         creases inside superlu_dist, but not with mumps.
>>>
>>
>>         I also confirm that ex16 runs fine with latest fix, but
>>         unfortunately not my code.
>>
>>         This is something to be expected, since my code preallocates
>>         once in the beginning. So there is no way it can be affected
>>         by multiple preallocations. Subsequently I only do matrix
>>         assembly, that makes sure structure doesn't change (set to
>>         get error otherwise).
>>
>>         Summary: we don't have a simple test code to debug superlu
>>         issue anymore.
>>
>>         Anton
>>
>>>         Hong
>>>
>>>         On Mon, Oct 24, 2016 at 9:34 AM, Satish Balay
>>>         <balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> wrote:
>>>
>>>             On Mon, 24 Oct 2016, Barry Smith wrote:
>>>
>>>             >
>>>             > > [Or perhaps Hong is using a different test code and is
>>>             observing bugs
>>>             > > with superlu_dist interface..]
>>>             >
>>>             >    She states that her test does a NEW MatCreate() for
>>>             each matrix load (I cut and pasted it in the email I
>>>             just sent). The bug I fixed was only related to using
>>>             the SAME matrix from one MatLoad() in another MatLoad().
>>>
>>>             Ah - ok.. Sorry - wasn't thinking clearly :(
>>>
>>>             Satish
>>>
>>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161025/53d843cc/attachment.html>


More information about the petsc-users mailing list