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




Reply via email to