Woo hoo! Thanks for doing that. :-)
> On Nov 30, 2017, at 12:43 PM, Clement FOYER <clement.fo...@gmail.com> wrote: > > Hi devels, > > In fact the communicator's group was already retained in the window > structure. So everything was already in place. I pushed the last > modifications, and everything seems ready to be merged in PR#4527. > > Jeff, the fixup commits are squashed :) > > Clément > > On 11/30/2017 12:00 AM, Barrett, Brian via devel wrote: >> The group is the easiest way to do the mapping from rank in window to >> ompi_proc_t, so it’s safe to say every window will have one (also, as a way >> of holding a reference to the ompi_proc_t). So I think it’s safe to say >> that every OSC module has a group handle somewhere (directly or through the >> communicator). >> >> Remember that in some implementations of the MTL, a communicator ID is a >> precious resource. I don’t know where Portals 4 falls right now, but in >> various of the 64 bit tag matching implementations, it’s been as low as 4k >> communicators. There’s no need for a cid if all you hold is a group >> reference. Plus, a communicator has a bunch of other state (collective >> modules handles, etc.) that aren’t necessarily needed by a window. >> >> Brian >> >>> On Nov 29, 2017, at 5:57 AM, Clement FOYER <clement.fo...@gmail.com> wrote: >>> >>> Hi Brian, >>> >>> Even if I see your point, I don't think a user request de free the >>> communicator should necesserily lead to the communicator being deleted, >>> only released from one hold, and available to be disposed by the library. I >>> don't see objection to have the library keep a grab on these communicators, >>> as the user give a handle to the actual object. >>> >>> I do agree the point of asking if we want to keep only information relevant >>> to all OSC components. Nevertheless, what would the difference be between >>> holding the complete communicator and holding the group only? Is group the >>> smallest part common to every component? >>> >>> Clément >>> >>> On 11/28/2017 07:46 PM, Barrett, Brian via devel wrote: >>>> The following is perfectly legal: >>>> >>>> MPI_Comm_dup(some_comm, &tmp_comm); >>>> MPI_Win_create(…., tmp_comm, &window); >>>> MPI_Comm_free(tmp_comm); >>>> >>>> <use window> >>>> >>>> So I don’t think stashing away a communicator is the solution. Is a group >>>> sufficient? I think any rational reading of the standard would lead to >>>> windows needing to hold a group reference for the life of the window. I’d >>>> be ok putting a group pointer in the base window, if that would work? >>>> >>>> Brian >>>> >>>>> On Nov 28, 2017, at 10:19 AM, George Bosilca <bosi...@icl.utk.edu> wrote: >>>>> >>>>> Hi Brian, >>>>> >>>>> Let me first start with explaining why we need the communicator. We need >>>>> to translate local to global rank (aka. rank in your MPI_COMM_WORLD), so >>>>> that the communication map we provide make sense. The only way today is >>>>> to go back to a communicator and then basically translate a rank between >>>>> this communicator and MPI_COMM_WORLD. We could use the gid, but then we >>>>> have a hash table lookup for every operation. >>>>> >>>>> While a communicator is not needed internally by an OSC, in MPI world all >>>>> windows start with a communicator. This is the reason why I was proposing >>>>> the change, not to force a window to create or hold a communicator, but >>>>> simply because the existence of a communicator linked to the window is >>>>> more of less enforced by the MPI standard. >>>>> >>>>> George. >>>>> >>>>> >>>>> >>>>> On Tue, Nov 28, 2017 at 1:02 PM, Barrett, Brian via devel >>>>> <devel@lists.open-mpi.org> wrote: >>>>> The objection I have to this is that it forces an implementation where >>>>> every one-sided component is backed by a communicator. While that’s the >>>>> case today, it’s certainly not required. >>>>> If you look at Portal 4, for example, there’s one collective call outside >>>>> of initialization, and that’s a barrier in MPI_FENCE. The SM component >>>>> is the same way and given some of the use cases for shared memory >>>>> allocation using the SM component, it’s very possible that we’ll be faced >>>>> with a situation where creating a communicator per SM region is too >>>>> expensive in terms of overall communicator count. >>>>> >>>>> I guess a different question would be what you need the communicator for. >>>>> It shouldn’t have any useful semantic meaning, so why isn’t a silent >>>>> implementation detail for the monitoring component? >>>>> >>>>> Brian >>>>> >>>>> >>>>>> On Nov 28, 2017, at 8:45 AM, George Bosilca <bosi...@icl.utk.edu> wrote: >>>>>> >>>>>> Devels, >>>>>> >>>>>> We would like to change the definition of the OSC module to move the >>>>>> communicator one level up from the different module structures into the >>>>>> base OSC module. The reason for this, as well as a lengthy discussion on >>>>>> other possible solutions can be found in >>>>>> https://github.com/open-mpi/ompi/pull/4527. >>>>>> >>>>>> We need to take a decision on this asap, to prepare the PR for the 3.1. >>>>>> Please comment asap. >>>>>> >>>>>> George. >>>>>> >>>>>> _______________________________________________ >>>>>> devel mailing list >>>>>> devel@lists.open-mpi.org >>>>>> https://lists.open-mpi.org/mailman/listinfo/devel >>>>> >>>>> >>>>> _______________________________________________ >>>>> devel mailing list >>>>> devel@lists.open-mpi.org >>>>> https://lists.open-mpi.org/mailman/listinfo/devel >>>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> >>>> devel@lists.open-mpi.org >>>> https://lists.open-mpi.org/mailman/listinfo/devel >>> >>> _______________________________________________ >>> devel mailing list >>> devel@lists.open-mpi.org >>> https://lists.open-mpi.org/mailman/listinfo/devel >> >> >> >> _______________________________________________ >> devel mailing list >> >> devel@lists.open-mpi.org >> https://lists.open-mpi.org/mailman/listinfo/devel > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/devel -- Jeff Squyres jsquy...@cisco.com _______________________________________________ devel mailing list devel@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/devel