<div dir="ltr"><div></div><div><br></div><div>sf_type window is not recommended, since it is very unlikely to bring any benefit.<br></div>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.<div>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).<br><div><br></div><div><table border="0" cellpadding="0" cellspacing="0" style="color:rgb(0,0,0);font-family:Times;font-size:medium"><tbody></tbody></table><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">--Junchao Zhang</div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 10, 2020 at 1:01 PM Randall Mackie <<a href="mailto:rlmackie862@gmail.com">rlmackie862@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The VecScatter man page says that the default vecscatter type uses PetscSF, and that one can use PetscSF options to control the communication.<br>
<br>
<br>
PetscSFCreate lists 3 different types, including MPI-3 options.<br>
<br>
<br>
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?<br>
<br>
<br>
Thanks,<br>
<br>
Randy M.</blockquote></div>