[petsc-dev] Seeming performance regression with GAMG

Mark Adams mfadams at lbl.gov
Tue May 5 07:24:42 CDT 2015

FYI, I have pushed this fix into master.  And to help searchers here is the
syntax change:

-pc_gamg_square_graph false --> -pc_gamg_square_graph 0
-pc_gamg_square_graph true --> -pc_gamg_square_graph 1
-pc_gamg_square_graph true --> -pc_gamg_square_graph 100 // pre January
2015 behavior: square infinity levels


On Sat, May 2, 2015 at 8:28 AM, Mark Adams <mfadams at lbl.gov> wrote:

> BTW, I have pushed a fix in mark/gamg-square.  The parameter is now an
> integer.  You will want at least 2.  Inf should give you the old, pre
> January, semantics.
> Mark
> On Thu, Apr 30, 2015 at 3:10 PM, Mark Adams <mfadams at lbl.gov> wrote:
>>> Yes, thanks, this is the change.  If I switch back to using the square
>>> of the adjacency graph on all levels then I recover the previous
>>> behaviour.  Mark, any comments?
>> The intent here is that you need to get faster coarsening on most
>> problems, especially not high order discretizations. After the first coarse
>> grid the number of non-zeros increases and this seems to be enough to
>> coarsen a good rate for the problems that I test: lowish order FE elements
>> (8 and maybe 27 node hexes).
>> You have about 10 non-zeros per row.  This is very low and squaring is
>> not even really enough.  BTW, if you can add fake zeros to make a large
>> stencil and use a negative threshold value, GAMG will use that fake graph
>> for coarsening, that is, it will not drop the zeros from the coarsening
>> graph.
>> BTW, I hated making this change for this reason but made a mistake in
>> implementing this.  I was always intending to do turn the squaring off
>> after the first level, but realized earlier this year that I was not
>> turning it off.
>> Anyway, I would suggest that we turn the square graph argument into an
>> integer for the number of levels that you want.  Zero would be like false,
>> one would be like true, and then you can add what you want.
>> If there are no objections I will do this.  It will break everyone that
>> uses this parameter but it is a better interface.
>> Mark
>>> Cheers,
>>> Lawrence
>>> Version: GnuPG v1
>>> beXRvqrjem6SWMBIft67kvmAr9htGsiGg/vE+NRP9EwNu20kD+fYocJ+mBBcxFit
>>> 2FdUperqA8F9gys2wJ+TijEQx58ieBNJJyPmQRa1DOmKHmD/WWcCIBV5q+yML9kt
>>> B3z59ujUH1kJrmmpYmUk6aMUDAG0qU2KlVHX+p6zL1kV7ooGdYcKbiAbYdYrKO1l
>>> 6vNw65+51Oiyi2X/oAsnxeJeAvMN2ljaSYLZJ1RZgAndSLi6bcZPQZvtzwXfOLs9
>>> C0qSPfXbd5O2DoenYnKzCS7t/kLnl0J3QimYex4tOSQxNQ7MtMG4CMNDmAIepUs=
>>> =OY/s
>>> -----END PGP SIGNATURE-----
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150505/de555ff5/attachment.html>

More information about the petsc-dev mailing list