[petsc-users] Strange GAMG performance for mixed FE formulation
Justin Chang
jychang48 at gmail.com
Fri Mar 4 01:05:50 CST 2016
Mark,
Using "-pc_gamg_square_graph 10" didn't change anything. I used values of
1, 10, 100, and 1000 and the performance seemed unaffected.
Changing the threshold of -pc_gamg_threshold to 0.8 did decrease wall-clock
time but it required more iterations.
I am not really sure how I go about tinkering around with GAMG or even ML.
Do you have a manual/reference/paper/etc that describes what's going on
within gamg?
Thanks,
Justin
On Thursday, March 3, 2016, Mark Adams <mfadams at lbl.gov> wrote:
> You have a very sparse 3D problem, with 9 non-zeros per row. It is
> coarsening very slowly and creating huge coarse grids. which are expensive
> to construct. The superlinear speedup is from cache effects, most likely.
> First try with:
>
> -pc_gamg_square_graph 10
>
> ML must have some AI in there to do this automatically, because gamg are
> pretty similar algorithmically. There is a threshold parameter that is
> important (-pc_gamg_threshold <0.0>) and I think ML has the same default.
> ML is doing OK, but I would guess that if you use like 0.02 for MLs
> threshold you would see some improvement.
>
> Hypre is doing pretty bad also. I suspect that it is getting confused as
> well. I know less about how to deal with hypre.
>
> If you use -info and grep on GAMG you will see about 20 lines that will
> tell you the number of equations on level and the average number of
> non-zeros per row. In 3D the reduction per level should be -- very
> approximately -- 30x and the number of non-zeros per row should not
> explode, but getting up to several hundred is OK.
>
> If you care to test this we should be able to get ML and GAMG to agree
> pretty well. ML is a nice solver, but our core numerics should be about
> the same. I tested this on a 3D elasticity problem a few years ago. That
> said, I think your ML solve is pretty good.
>
> Mark
>
>
>
>
> On Thu, Mar 3, 2016 at 4:36 AM, Lawrence Mitchell <
> lawrence.mitchell at imperial.ac.uk
> <javascript:_e(%7B%7D,'cvml','lawrence.mitchell at imperial.ac.uk');>> wrote:
>
>> On 02/03/16 22:28, Justin Chang wrote:
>> ...
>>
>>
>> > Down solver (pre-smoother) on level 3
>> >
>> > KSP Object: (solver_fieldsplit_1_mg_levels_3_)
>> > linear system matrix = precond matrix:
>> ...
>> > Mat Object: 1 MPI processes
>> >
>> > type: seqaij
>> >
>> > rows=52147, cols=52147
>> >
>> > total: nonzeros=38604909, allocated nonzeros=38604909
>> >
>> > total number of mallocs used during MatSetValues calls =2
>> >
>> > not using I-node routines
>> >
>> > Down solver (pre-smoother) on level 4
>> >
>> > KSP Object: (solver_fieldsplit_1_mg_levels_4_)
>> > linear system matrix followed by preconditioner matrix:
>> >
>> > Mat Object: (solver_fieldsplit_1_)
>>
>> ...
>> >
>> > Mat Object: 1 MPI processes
>> >
>> > type: seqaij
>> >
>> > rows=384000, cols=384000
>> >
>> > total: nonzeros=3416452, allocated nonzeros=3416452
>>
>>
>> This looks pretty suspicious to me. The original matrix on the finest
>> level has 3.8e5 rows and ~3.4e6 nonzeros. The next level up, the
>> coarsening produces 5.2e4 rows, but 38e6 nonzeros.
>>
>> FWIW, although Justin's PETSc is from Oct 2015, I get the same
>> behaviour with:
>>
>> ad5697c (Master as of 1st March).
>>
>> If I compare with the coarse operators that ML produces on the same
>> problem:
>>
>> The original matrix has, again:
>>
>> Mat Object: 1 MPI processes
>> type: seqaij
>> rows=384000, cols=384000
>> total: nonzeros=3416452, allocated nonzeros=3416452
>> total number of mallocs used during MatSetValues calls=0
>> not using I-node routines
>>
>> While the next finest level has:
>>
>> Mat Object: 1 MPI processes
>> type: seqaij
>> rows=65258, cols=65258
>> total: nonzeros=1318400, allocated nonzeros=1318400
>> total number of mallocs used during MatSetValues calls=0
>> not using I-node routines
>>
>> So we have 6.5e4 rows and 1.3e6 nonzeros, which seems more plausible.
>>
>> Cheers,
>>
>> Lawrence
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160304/12defee8/attachment-0001.html>
More information about the petsc-users
mailing list