Skip to content
Dan Holmes edited this page Oct 9, 2017 · 1 revision

9th October 2017 Webex Meeting

Attendees

  • Dan Holmes
  • Geoffroy Vallee
  • Martin Schulz
  • Wesley Bland

Chicago MPI Forum (9/2017) Follow-up

Dan reviewed last week's discussion about renaming "session" as "endpoint" and "set of processes" as "team".

There is clear overlap between the intended usage of "session" and "endpoint". One major difference in isolation of resources. This new formulation of endpoints would get around some of the short-comings of the issues with the currently proposed endpoints API. Specifically, in the OpenMP use-case, the need to enter a parallel region to determine the number of threads, then enter a master/single region to call the MPI_COMM_CREATE_ENDPOINTS function, which gives the array of all local handles to one thread, and have all other threads block until they can read their handle from that one array.

Team is not currently used in the MPI Standard. This is not a conceptual change, just assigning a proper name.

Dan showed some pseudo-code for the newly renamed API functions:

int MPI_ENDPOINT_INIT(inout flags, in info, out ep) // like session init, include INFO and FLAGS

int MPI_TEAM_GET_NUM(in ep, out num) // get length of list for next call
int MPI_TEAM_GET_LIST(in ep, in num, inout *teams) // get “set” names

int MPI_GROUP_FROM_TEAM(in team, in ep, in num_ep, in uritag, out group) // like session function
int MPI_COMM_FROM_TEAM(in team, in ep, in num_ep, in uritag, out comm)

int MPI_ENDPOINT_FINALIZE(inout *ep) // like session finalise

Comments on this included:

  • error handler missing from MPI_ENDPOINT_INIT.
  • for consistency, MPI_TEAM_GET_LIST should be MPI_TEAM_GET_NTH, i.e. it should return one team at a time.
  • the ep parameter is needed in MPI_GROUP_FROM_TEAM so that multiple endpoints can join the same group.
  • the num_ep parameter is needed in MPI_GROUP_FROM_TEAM so that MPI knows how many local endpoints are expected.
  • the uritag parameter is needed in MPI_GROUP_FROM_TEAM to distinguish multiple concurrent group creation operations.
  • the MPI_COMM_FROM_TEAM function is syntactic sugar for creating a group and then creating a comm from that group.

TODOS

  • [DAN] make sure wiki page is up to date with new timing for webex calls.
  • [ALL] think more about how to map Sessions to existing endpoints proposal.
  • [ALL] think more about how to use team, i.e. the "set of processes" concept.
Clone this wiki locally