Skip to content

Handle Debugging:Group queries

Joachim edited this page Oct 28, 2021 · 8 revisions

Group queries

int mpidbg_group_query(mqs_process *process,
                      mqs_taddr_t group,
                      struct mpidbg_group_handle_t **handle);

Intra-communicator: only local group, remote group is NULL Inter-communicator: local and remote group

int mpidbg_comm_query_group(const struct mpidbg_comm_handle_t *comm_handle,
                      struct mpidbg_group_handle_t **local_group_handle,
                      struct mpidbg_group_handle_t **remote_group_handle);

TODO: Are MPI groups really namespaced into sessions? Could two sessions hand out the same group handle to represent the same p-set? I.e, does a query "from which session is a group handle derived?" make sense?

mpidbg_process_t might need to include information about session, rank/id to identify process with help of MPIR/PMIX

int mpidbg_comm_query_procs(const struct mpidbg_group_handle_t *handle,
                            int *group_num_procs,
                            struct mpidbg_process_t **comm_procs);
  • Queries about constructed groups / "implicit" groups

Query a handle returned by mpidbg_group_query() or other functions and, if found and valid, return the session this group was derived from

int mpidbg_group_query_session(struct mpidbg_group_handle_t *handle,
                              struct mpidbg_session_handle_t **comm_session);
Clone this wiki locally