<div dir="ltr"><div dir="ltr">On Thu, Dec 2, 2021 at 11:56 PM Adrian Croucher <<a href="mailto:a.croucher@auckland.ac.nz">a.croucher@auckland.ac.nz</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
On 12/3/21 5:53 PM, Jed Brown wrote:<br>
>> Ah, interesting. I guess mpi_comm_split() might also have the advantage<br>
>> that each rank only needs to know if it is in the group or not, rather<br>
>> than needing an array of all participating ranks, as mpi_comm_create()<br>
>> and mpi_comm_create_group() do.<br>
> That's exactly why it's often more convenient. But it is collective on the parent communicator.<br>
<br>
Yes, I was a bit concerned about that after reading this (from <br>
<a href="https://cvw.cac.cornell.edu/MPIAdvTopics/subdividing" rel="noreferrer" target="_blank">https://cvw.cac.cornell.edu/MPIAdvTopics/subdividing</a>):<br>
<br>
" ...the MPI specification states that the call to MPI_Comm_create must <br>
be executed by all processes in the input communicator (in our case, <br>
MPI_COMM_WORLD), and that all processes must pass the same value for the <br>
group argument (grp), even if they do not belong to the new group. This <br>
can be a dire problem with a very large number of processes, such as are <br>
found in petascale systems, so MPI_COMM_CREATE_GROUP was introduced in <br>
MPI-3 to alleviate this problem."<br></blockquote><div><br></div><div>This seems like hyperbole to me. At worst you need one collective operation to figure out who is in.</div><div>This is no more expensive than one dot product, and probably less. Unless you plan to do this millions</div><div>of times in the simulation, I do not see the dire problem.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
- Adrian<br>
<br>
-- <br>
Dr Adrian Croucher<br>
Senior Research Fellow<br>
Department of Engineering Science<br>
University of Auckland, New Zealand<br>
email: <a href="mailto:a.croucher@auckland.ac.nz" target="_blank">a.croucher@auckland.ac.nz</a><br>
tel: +64 (0)9 923 4611<br></blockquote></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>