6.5.2. Process Sets
A PMIx process set is a label associated with a fixed collection of application processes, assigned by the host environment or by the user at time of application submission. Unlike a process group, a set is immutable and confers no operational function — it is purely a label by which an application can derive information about a process and its application (see the Overview for the full comparison). This page describes the attributes used to query and report process sets.
6.5.2.1. Process Set Attributes
Several attributes are provided for querying the system regarding process sets using the PMIx_Query_info API. These include the following:
PMIX_QUERY_NUM_PSETS* String:pmix.qry.psetnum* Type: size_t * Description: Return the number of process sets defined in the specified range (defaults toPMIX_RANGE_SESSION).PMIX_QUERY_PSET_NAMES* String:pmix.qry.psets* Type: pmix_data_array_t* * Description: Return apmix_data_array_tcontaining an array of strings of the process set names defined in the specified range (defaults toPMIX_RANGE_SESSION).PMIX_QUERY_PSET_MEMBERSHIP* String:pmix.qry.pmems* Type: pmix_data_array_t* * Description: Return an array ofpmix_proc_tcontaining the members of the specified process set.
In addition, the PMIX_PROCESS_SET_DEFINE event shall include the name of the newly defined
process set and its members using the following attributes:
PMIX_PSET_NAME* String:pmix.pset.nm* Type: char* * Description: The name of the newly defined process set.PMIX_PSET_MEMBERS* String:pmix.pset.mems* Type: pmix_data_array_t* * Description: An array ofpmix_proc_tcontaining the members of the newly defined process set.
Finally, a process can request (via PMIx_Get) the process sets to which a given process (including itself)
belongs using the following attribute:
PMIX_PSET_NAMES* String:pmix.pset.nms* Type: pmix_data_array_t* * Description: Returns an array ofchar*string names of the process sets in which the given process is a member.