-
Notifications
You must be signed in to change notification settings - Fork 2
Handle Debugging:Session queries
Marc-Andre edited this page Apr 8, 2025
·
9 revisions
int mpid_session_query(mpid_process_handle_t*process,
mpid_address_t session,
mpid_session_handle_t **handle);int mpid_get_num_sessions(mpid_process_handle_t*process,
int *num_sessions);int mpid_get_nth_session(mpid_process_handle_t*process,
int nth_session,
mpid_session_handle_t **handle);int mpid_session_query_num_psets(mpid_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 mpid_session_query_nth_pset(mpid_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 mpid_session_query_group_for_pset(mpid_session_handle_t *handle,
const char *pset,
mpid_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 mpid_process_t
Free a handle returned by the mpid_session_query() function or any other query function.
int mpid_session_handle_free(mpid_session_handle_t *handle);Handles unique to a session:
- group
- comm
- request