[petsc-dev] MatISGetLocalMat: need to MatDestroy the returned local matrice ?

Jed Brown jed at jedbrown.org
Fri May 19 09:20:14 CDT 2017


Thanks.  I just pushed this.

commit 96a6f12955a790d77f6eb7eb6b1dcf9dd5e1cf30
Author: Jed Brown <jed at jedbrown.org>
Date:   Fri May 19 08:17:45 2017 -0600

    MatISGetLocalMat: add note on reference counting

    Reported-by: Franck Houssen <franck.houssen at inria.fr>

diff --git a/src/mat/impls/is/matis.c b/src/mat/impls/is/matis.c
index dc4a894aae..287c0aa554 100644
--- a/src/mat/impls/is/matis.c
+++ b/src/mat/impls/is/matis.c
@@ -837,6 +837,9 @@ PetscErrorCode MatISGetLocalMat_IS(Mat mat,Mat *local)
   matrix and want to provide it to the inner matrix object to improve the performance
   of the MatSetValues() operation.

+  This function does not increase the reference count for the local Mat.  Do not destroy it and do not attempt to use
+  your reference after destroying the parent mat.
+
 .seealso: MATIS
 @*/
 PetscErrorCode MatISGetLocalMat(Mat mat,Mat *local)

Franck Houssen <franck.houssen at inria.fr> writes:

> Hello, 
>
> Do I need to MatDestroy the local matrix returned by MatISGetLocalMat ? (the global matrix has been created with MatCreateIS) 
>
> Tried to look in the source tree... But I'am not sure to get the answer: in petsc-3.7.6/src/mat/impls/is/matis.c, MatISGetLocalMat seems to call MatISGetLocalMat_C, but, I can't find MatISGetLocalMat_C in the source tree !?... 
>
> Franck 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170519/8341ede0/attachment.sig>


More information about the petsc-dev mailing list