[petsc-users] SuperLU_dist issue in 3.7.4 failure of repeated calls to MatLoad() or MatMPIAIJSetPreallocation() with the same matrix

Hong hzhang at mcs.anl.gov
Mon Oct 24 14:06:48 CDT 2016


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> 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/20161024/31e9dba1/attachment-0001.html>


More information about the petsc-users mailing list