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