-
Notifications
You must be signed in to change notification settings - Fork 2
Handle Debugging:Session queries
Joachim edited this page Oct 14, 2021
·
8 revisions
int mpidbg_session_query(mqs_process *process,
mqs_taddr_t session,
struct mpidbg_session_handle_t **handle);
int mpidbg_get_num_sessions(mqs_process *process,
int *num_sessions);
int mpidbg_get_nth_session(mqs_process *process,
int nth_session,
struct mpidbg_session_handle_t **handle);
int mpidbg_session_query_num_psets(struct mpidbg_session_handle_t *handle,
int *num_psets);
pset is allocated using the alloc callback, caller must free the buffer.
Example for pset: "mpi://WORLD"
int mpidbg_session_query_nth_pset(struct mpidbg_session_handle_t *handle,
int nth_pset,
const char **pset);
pset argument is callee allocated (using the callback). Tool (caller) is responsible to free the memory.
int mpidbg_session_query_group_for_pset(struct mpidbg_session_handle_t *handle,
const char *pset,
struct mpidbg_group_handle_t *group_handle);
- How can one process talk about / identify other MPI processes?
- Provide MPIR equivalent information for each session?
- Alternatively use PMIX to get process information?
- -> For now we assume the row in a session-specific (MPIR-like) table is sufficient for mpidbg_process_t
Free a handle returned by the mpidbg_session_query() function or any other query function.
int mpidbg_session_handle_free(struct mpidbg_session_handle_t *handle);
Handles unique to a session:
- group
- comm
- request