[petsc-users] calling both MatSeqAIJSetPreallocation and MatMPIAIJSetPreallocation

Sam Guo sam.guo at cd-adapco.com
Mon Jan 11 13:59:41 CST 2021


Dear PETSc Dev Team,
   The documentation recommends calling  both of the above preallocation
routines for simplicity. Do we waste memory by calling both?

Thanks,
Sam
MATAIJMATAIJ
<https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATAIJ.html#MATAIJ>
=
"aij" - A matrix type to be used for sparse matrices. This matrix type is
identical to MATSEQAIJ
<https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATSEQAIJ.html#MATSEQAIJ>
when
constructed with a single process communicator, and MATMPIAIJ
<https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATMPIAIJ.html#MATMPIAIJ>
otherwise.
As a result, for single process communicators, MatSeqAIJSetPreallocation
<https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatSeqAIJSetPreallocation.html#MatSeqAIJSetPreallocation>
is
supported, and similarly MatMPIAIJSetPreallocation
<https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatMPIAIJSetPreallocation.html#MatMPIAIJSetPreallocation>()
is supported for communicators controlling multiple processes. It is
recommended that you call both of the above preallocation routines for
simplicity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210111/69a423dd/attachment.html>


More information about the petsc-users mailing list