[petsc-users] calling both MatSeqAIJSetPreallocation and MatMPIAIJSetPreallocation

Matthew Knepley knepley at gmail.com
Mon Jan 11 14:25:27 CST 2021


On Mon, Jan 11, 2021 at 3:00 PM Sam Guo <sam.guo at cd-adapco.com> wrote:

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

No. Only one will function, depending on the matrix type.

  Thanks,

     Matt


> 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.
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210111/5c4e6fe5/attachment.html>


More information about the petsc-users mailing list