[petsc-users] -log_summary output

Barry Smith bsmith at mcs.anl.gov
Sat May 14 07:42:35 CDT 2011


On May 14, 2011, at 6:48 AM, ilyas ilyas wrote:

> Thank you Barry,
> I will check my code for memory leak.
> 
> Sorry for the question. I was not clear enough.
> I was trying to point out Time Ratios for MatView(in the first output) and MatView,MatGetRowIJ (in the second output).

   MatView() will always have a large time ratio.    I cannot explain why MatGetRowIJ() has such a huge ratio, in general this routine takes so little of the compute time it doesn't matter. 

   Barry

> Why are these values huge compared to others?
> 
> Regards,
> Ilyas
> 
> 
> 2011/5/13 Barry Smith <bsmith at mcs.anl.gov>
> 
> On May 13, 2011, at 8:56 AM, ilyas ilyas wrote:
> 
> >
> > Hello,
> >
> > Would you please help me to understand two attached -log_summary outputs. Both are from same cfd-petsc code, taken at different times at the end of first time-step.
> >
> > Domain : 256^3, periodic (defined in DA's)
> > Ncores : 256
> >
> > After a couple of hundered iterations, one or more cores killed/dumped and my code exits.This is not an issue with a coarse resolution (say 32^3,64^3) May this be related to my code?
> 
> Object Type          Creations   Destructions     Memory  Descendants' Mem.
> Reports information only for process 0.
> 
> --- Event Stage 0: Main Stage
> 
>   Distributed array     1              0            0     0
>                 Vec   597            579    340156096     0
>         Vec Scatter     3              1          868     0
>           Index Set     9              9      1700440     0
> 
> I'm thinking there may be a memory leak with the vectors. During the run you sent us it is creating 597 vectors but only destroying 579. If each time-step you are leaking vectors it will eventually run out of memory and stop.  Check that all your Vec creations have a matching destroy. Also make sure that is true for matrices. You can run with the options -malloc -malloc_debug -malloc_dump as a test and it will print out all the memory that PETSc used that was not freed. Ideally this will always report nothing after a run. BTW: Don't use these options when running for performance, just use them to test for memory leaks.
> 
> 
> > (Assuming enough memory available in the system). What is wrong with MatXXX ?
> 
>   Not sure what you mean here? There is no MatXXX in the output you sent us. It is true that since the matrices take up a lot of memory when memory is leaked often it crashes when trying to allocate a matrix.
> 
>   Barry
> 
> >
> > Thanks a lot,
> >
> > Ilyas.
> > Energy Inst.
> > ITU
> > <185432.out><185433.out>
> 
> 



More information about the petsc-users mailing list