[petsc-users] PETSc/SLEPc: Memory consumption, particularly during solver initialization/solve

Jose E. Roman jroman at dsic.upv.es
Fri Oct 5 02:38:28 CDT 2018



> El 4 oct 2018, a las 19:54, Ale Foggia <amfoggia at gmail.com> escribió:
> 
> Jose: 
> - By each step I mean each of the step of the the program in order to diagonalize the matrix. For me, those are: creation of basis, preallocation of matrix, setting values of matrix, initializing solver, solving/diagonalizing and cleaning. I'm only diagonalizing once. 
> 
> - Regarding the information provided by -log_view, it's confusing for me: for example, it reports the creation of Vecs scattered across the various stages that I've set up (with PetscLogStageRegister and PetscLogStagePush/Pop), but almost all the deletions are presented in the "Main Stage". What does that "Main Stage" consider? Why are more deletions in there that creations? It's nor completely for me clear how things are presented there.

I guess deletions should match creations. Seems to be related to using stages. Maybe someone from PETSc can give an explanation, but looking at a PETSc example that uses stages (e.g. dm/impls/plex/examples/tests/ex1.c) it seems that some destructions are counted in the main stage while the creation is counted in another stage - I guess it depends on the points where the stages are defined. The sum of creations matches the sum of destroys.

> 
> - Thanks for the suggestion about the solver. Does "faster convergence" for Krylov-Schur mean less memory and less computation, or just less computation? 
> 

It should be about the same memory with less iterations.

Jose



More information about the petsc-users mailing list