<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le sam. 15 janv. 2022 à 15:23, Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Thibault Bridel-Bertomeu <<a href="mailto:thibault.bridelbertomeu@gmail.com" target="_blank">thibault.bridelbertomeu@gmail.com</a>> writes:<br>
<br>
> I think it would be perfect if the 0-sized labels were also completely<br>
> filtered out. Is that something that you could add to the<br>
> DMPlexFliterLabels_Internal function ?<br>
<br>
Why do you want it filtered? Determining that it's zero sized requires all processes agreeing, and DMAddBoundary is collective so *no* ranks can add a boundary condition unless the label exists on *all* ranks (even if zero sized on many).<br>
</blockquote></div></div><div dir="auto">Well, an empty boundary condition globally-speaking will not be used - that’s my main argument for taking it out altogether. </div><div dir="auto">I understand that a bunch of extra Allgather might be too costly if many calls to DMPlexFilter are made, but  if the users know that they’ll call it maybe only once or twice, then it would make sense to clean the filtered pieces. What about an option for the DMPlexFilter set to false by default to prevent extra MPI comms? </div><div dir="auto"><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div><div><div><div>Thibault Bridel-Bertomeu<br>—<br></div></div></div></div>Eng, MSc, PhD</div><div>Research Engineer</div><div>CEA/CESTA</div><div>33114 LE BARP</div><div>Tel.: (+33)557046924</div><div>Mob.: (+33)611025322<br></div><div>Mail: <a href="mailto:thibault.bridelbertomeu@gmail.com" target="_blank">thibault.bridelbertomeu@gmail.com</a><br></div></div></div></div></div></div>