[mpiwg-sessions] Constructing groups without knowing IDs of participants
Ralph H Castain
rhc at open-mpi.org
Tue Nov 6 18:02:20 CST 2018
Nathan asked today about PMIx Group support for constructing groups where you don’t know the IDs of all the participants. There are two ways this can be done:
* by specifying wildcard rank. For example, suppose you want to construct a “default” group that includes all your peers. Easiest way to do that is to specify a single pmix_proc_t in the PMIx_Group_construct call (or its equivalent invite) where the nspace is your own (since you always know your own ID) and the rank is PMIX_RANK_WILDCARD. If you want a context ID assigned to it, then include that attribute in the call.
* by passing a NULL to the pmix_proc_t array and then specifying attributes of the participants. For example, suppose you want to form a group consisting of all your peers on the local node, but you don’t know their identifiers. In this case, you would leave the pmix_proc_t arg as NULL, and pass an attribute in the directives array indicating you want local peers to participate. Each local peer will be notified of the request and can either accept or decline - the eventual resulting membership will be returned in the results array. Again, you can have a context ID assigned to this group upon completion of the call. Similarly, you could request participants running on specific compute capabilities, or located with local access to given data sets. We can define attributes for any of these cases - tell me what you’d like to have and I’ll include support for it.
More information about the mpiwg-sessions