Fande,
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.

Hong

On Thu, Mar 21, 2019 at 6:37 PM Mark Adams via petsc-dev 
<petsc-dev@mcs.anl.gov<mailto:petsc-dev@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.

Reply via email to