[petsc-users] Memory for matrix assembly

Jed Brown jedbrown at mcs.anl.gov
Tue Nov 22 08:50:16 CST 2011


On Tue, Nov 22, 2011 at 08:30, Andrej Mesaros <andrej.mesaros at bc.edu> wrote:

> Given that I indeed call MatSetValues exclusively with row indices within
> the range determined by MatGetOwnershipRange, it should be impossible to
> generate entries on the wrong process, right? In such a case, could the
> corruption you mention be somehow due to the way I call other PETSc
> functions? Or is it at all possible that too small preallocation is making
> a problem?
>

Try setting these options and running in debug mode.

MatSetOption(A,MAT_NO_OFF_PROC_ENTRIES,PETSC_TRUE);
MatSetOption(A,MAT_NEW_NONZERO_ALLOCATION_ERR,PETSC_TRUE);




>
> Also, what is the meaning of the memories in the report: "allocated",
>

obtained with PetscMalloc()

http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Sys/PetscMallocGetCurrentUsage.html


> "used by process"
>

resident set size returned by getrusage(), procfs, or similar

http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Sys/PetscMemoryGetCurrentUsage.html


> and "requested"?
>

Amount you are trying to allocate now.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111122/98e12274/attachment.htm>


More information about the petsc-users mailing list