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>
