[petsc-dev] MatCreateSubMatrices in parallel with n=0 on a process causes memory leak
Brad Aagaard
baagaard at usgs.gov
Mon Mar 27 15:07:48 CDT 2017
Hong,
Yep that was it.
Thanks,
Brad
On 03/27/2017 12:57 PM, Hong wrote:
>
>
> Brad:
> You must call MatDestroySubMatrices(), not MatDestroyMatrices().
> See petsc/src/mat/examples/tests/ex54.c
>
> I'll add it to the help menu of MatCreateSubMatrices().
>
> Hong
>
>
>
> In PyLith we call MatCreateSubMatrices() and MatDestroyMatrices()
> with potentially different numbers of submatrices on each process.
> If each process has a nonzero number of submatrices things appear to
> be working fine. If a process has zero submatrices, I am getting a
> memory leak on that process (as reported by -malloc_dump). I did not
> get this behavior with PETSc 3.7.2 and earlier with
> MatGetSubMatrices() and MatDestroyMatrices().
>
> Do I need to do something special when calling
> MatCreateSubMatrices() or MatDestroyMatrices() when the number of
> submatrices on a process is zero?
>
> The log with the petsc log summary and malloc dump output is attached.
>
> Thanks,
> Brad
>
>
>
More information about the petsc-dev
mailing list