<div dir="ltr">The concurrency and attribute semantics are in conflict with each other.  Sure, attribute callbacks are problematic, but keep in mind that removing the Comm_free concurrency exception results in an interface where you can create endpoints, e.g. in MPI_THREAD_SERIALIZED mode, but you can't free them.<div>
<br></div><div>The goal is to have two options for freeing endpoints communicators to address these conflicting constraints.  MPI_Comm_free_endpoints would be incompatible with collective attribute callbacks, but doesn't require MPI_THREAD_MULTIPLE.  Comm_free is ok with collective attribute callbacks, but requires MPI_THREAD_MULTIPLE.</div>
<div><br></div><div>Our thinking what that you should pass MPI_Comm_free_endpoints the array that you got out of Comm_create_endpoints (maybe in a different order, but all handles have to be there).  We were trying to keep the interface simple for starters; we didn't intend for Comm_free_endpoints to mix with Comm_free or do a subset free or anything else strange.  :)</div>
<div><br></div><div> ~Jim.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 7, 2014 at 1:21 PM, Balaji, Pavan <span dir="ltr"><<a href="mailto:balaji@anl.gov" target="_blank">balaji@anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
On Apr 7, 2014, at 12:09 PM, Jim Dinan <<a href="mailto:james.dinan@gmail.com">james.dinan@gmail.com</a>> wrote:<br>
> Dan suggested a third approach where we leave the Comm_free semantic unchanged and add a new function, MPI_Comm_free_endpoints(MPI_Comm comm_handles[], int my_num_ep), that has symmetry with Comm_create_endpoints.  An endpoints communicator can be freed with either Comm_free or Comm_free_endpoints.  They differ in their concurrency requirement.<br>

<br>
</div>What happens to the attribute callbacks when you use MPI_Comm_free_endpoints?<br>
<div class="HOEnZb"><div class="h5"><br>
  — Pavan<br>
<br>
_______________________________________________<br>
mpiwg-hybridpm mailing list<br>
<a href="mailto:mpiwg-hybridpm@lists.mpi-forum.org">mpiwg-hybridpm@lists.mpi-forum.org</a><br>
<a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-hybridpm" target="_blank">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-hybridpm</a><br>
</div></div></blockquote></div><br></div>