[petsc-dev] [petsc-users] Bad memory scaling with PETSc 3.10

Zhang, Hong hzhang at mcs.anl.gov
Fri Mar 22 12:19:47 CDT 2019

The images are very interesting and helpful. How did you get these images?

Petsc PtAP uses 753MB for PtAPSymbolic and only 116MB for PtAPNumeric,
while hypre uses 215MB -- it seems hypre does not implement symbolic PtAP.

When I implement PtAP, my focus was on numeric part because it was used repeatedly. Now we should look at symbolic part and optimize it. It should have room for improvement or new algorithmic approach.
We also need understand the algorithm and implementation used hypre.


On Thu, Mar 21, 2019 at 6:37 PM Mark Adams via petsc-dev <petsc-dev at mcs.anl.gov<mailto:petsc-dev at mcs.anl.gov>> wrote:

Could you explain this more by adding some small examples?

Since you are considering implementing all-at-once (four nested loops, right?) I'll give you my old code.

This code is hardwired for two AMG and for a geometric-AMG, where the blocks of the R (and hence P) matrices are scaled identities and I only store the scale. So you ignore those branches. This code also does equivalent real form complex, so more branches to ignore.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190322/edaaaa81/attachment.html>

More information about the petsc-dev mailing list