[petsc-users] Question on VecScatter options

Junchao Zhang junchao.zhang at gmail.com
Fri Apr 10 13:33:47 CDT 2020


sf_type window is not recommended, since it is very unlikely to bring any
benefit.
sf_type neighbor uses MPI-3.0 MPI_Ineighbor_alltoallv() for communication.
If the the MPI implementation you use has optimized the so-called
neighborhood communication, then using this option may improve performance,
otherwise, it has no benefit than sf_type basic.
sf_type basic uses MPI_Isend/Irecv.  VecScatter is usually done through
that, except some well-structured ones, such as VecScatterCreateToZero/All,
which ultimately use MPI_I(all)gatherv (but are still through PetscSF).

--Junchao Zhang


On Fri, Apr 10, 2020 at 1:01 PM Randall Mackie <rlmackie862 at gmail.com>
wrote:

> The VecScatter man page says that the default vecscatter type uses
> PetscSF, and that one can use PetscSF options to control the communication.
>
>
> PetscSFCreate lists 3 different types, including MPI-3 options.
>
>
> So I’m wondering is it enough to just add, for example, -sf_type neighbor
> to the list of PETSc options to have all VecScatter calls use MPI 3, and
> are there advantages to using that over the default options?
>
>
> Thanks,
>
> Randy M.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200410/5cdf6127/attachment.html>


More information about the petsc-users mailing list