Hi Folks, I remember in the psm provider for libfabric, that there is a check in the av_insert method for endpoints that had previously been inserted into the av. In the libfabric psm provider, a mask array is created and fed in to the psm_ep_connect call to handle ep's that were already "connected". I notice for the psm mtl in ompi, a mask array is not provided, just a NULL.
Howard 2014-11-11 16:00 GMT-07:00 George Bosilca <bosi...@icl.utk.edu>: > > > On Nov 11, 2014, at 17:13 , Jeff Squyres (jsquyres) <jsquy...@cisco.com> > wrote: > > > >> More particularly, it looks like add_procs is being called a second > time during MPI_Intercomm_create and being passed a process that is already > connected (passed into the first add_procs call). Is that right? Should > the MTL handle multiple add_procs calls with the same proc provided? > > > > I'm afraid I don't know much about the MTL interface. > > > > George / Nathan? > > The Intercom_create is a funny function, as it can join together two > groups of processes that didn’t knew each other before. Thus, we have to be > conservative in the upper level of the function and provide the entire list > of [potentially] new processes to the PML/MTL to add to their known > processes. In the case of the PML, this list is then forwarded down to the > BTL, where only the new processes are added. Thus, the BTLs support adding > multiple time the same process. > > I think a similar mechanism should be added to the MTL. If the process is > already known, just mark it as reachable and be done. > > George. > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/11/16297.php