[petsc-users] Solving a linear system with symmetrical matrix

Longmin RAN longmin.ran at gmail.com
Fri Mar 25 10:16:21 CDT 2011


Hello again,

I recompiled petsc using --with-debugging=0 but it doesn't improve the
situation much. What's more, when running the program with "-info", I
saw "Option SYMMETRIC ignored" and "Option SYMMETRY_ETERNAL ignored".
Why are these options ignored? For superlu to specify the symmetric
mode with MMD_AT_PLUS_A ordering will significantly shorten the
solution time. I didn't find corresponding ordering type in petsc.


Longmin

On Thu, Mar 24, 2011 at 3:29 PM, Longmin RAN <longmin.ran at gmail.com> wrote:
> Thanks for the tips, Barry. I didn't specify --with-debugging=0 during
> the configuration, I think this is the problem. I'll recompile petsc
> accordingly to check on this.
>
>
> Longmin
>
> On Thu, Mar 24, 2011 at 1:30 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>> On Mar 24, 2011, at 5:26 AM, Longmin RAN wrote:
>>
>>> Hello everyone,
>>>
>>>
>>> I use superlu inside petsc to solve linear systems with symmetrical
>>> matrix. The solving time is at least twice longer than using superlu
>>> directly.
>>
>>   How much of that time is in other parts of the code, not the actual superlu solver? Run the PETSc version with -log_summary; the times given in the lines
>> MatFactorSymbolic, MatFactorNumerical, MatSolve (or some similar names) are the amount of time in Superlu. Compare those times to the superlu standalone solution time.
>>
>>    Did you ./configure PETSc with the option --with-debugging=0?
>>
>>   Barry
>>
>>
>>
>>> Since I'm new with Petsc, I didn't fine-tune much the petsc
>>> solver, as I had done when using superlu directly. For example, in
>>> superlu there are options like diagonal pivot
>>> threshold(superlu_options_t.DiagPivotThresh), symmetric mode
>>> (superlu_options_t.SymmetricMode), and column
>>> permutation(superlu_options_t.ColPerm). Could anybody inform me about
>>> the corresponding options in petsc? Thanks in advance.
>>>
>>> BTW, I tried the following options:
>>>       MatSetOption(A, MAT_SYMMETRIC, PETSC_TRUE);
>>>       MatSetOption(A, MAT_SYMMETRY_ETERNAL, PETSC_TRUE);
>>> But it seems that these options weren't enough to reduce the solving
>>> time sufficiently.
>>>
>>>
>>> Best regards,
>>>
>>> - Longmin Ran
>>
>>
>


More information about the petsc-users mailing list