[mpiwg-hybridpm] Hybrid telecon fiasco

Jeff Squyres (jsquyres) jsquyres at cisco.com
Mon Apr 7 12:20:51 CDT 2014

On Apr 7, 2014, at 1:09 PM, Jim Dinan <james.dinan at gmail.com> wrote:

> ** Interface for freeing endpoints communicators:
> Current, we use MPI_Comm_free to free endpoints communicators, and we extend the MPI_Comm_free semantics to allows one thread to call this routine for each endpoint.  If we didn't have this extension to Comm_free, you can create endpoints, e.g. in MPI_THREAD_SERIALIZED mode, but you can't free them.  The Forum dislikes this new semantic and as suggested that we remove it.
> 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.

I'm not sure I understand:

- MPI_COMM_FREE_ENDPOINTS: does the array have to contain *all* the communicator handles for an endpoint communicator?  Or is the requirement that all communicator handles must *eventually* be freed (via free or free_endpoints)?  Is FREE_ENDPOINTS collective?

My $0.02: I'm not a big fan giving comm handles to threads, but then requiring that there be a single collection point / destruction point for all those handles.  Why can't the threads destroy them individually, if they want to?

- MPI_COMM_FREE: so you're saying that COMM_FREE will stay exactly as it is.

What happens in this scenario:

- CREATE_ENDPOINTS creates 4 local communicator handles: c0 through c3.
- c0 and c1 are put into foo[], and a single thread calls MPI_COMM_FREE_ENDPOINTS(foo, 2)
- c2 ans c3 each calls MPI_COMM_FREE(&my_comm)

Is this legal?  I.e., can COMM_FREE_ENDPOINTS "match" COMM_FREE in the same process?

Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/

More information about the mpiwg-hybridpm mailing list