[mpiwg-sessions] MPI sessions and MPI T

Dan Holmes dholmes at epcc.ed.ac.uk
Fri Jan 27 08:07:20 CST 2017


Hi Howard,

Thanks - that looks like a manageably short list. Here’s my initial thoughts.

1) terminology: I’m torn on this - it wouldn’t be the first naming clash in MPI (e.g. MPI_WAIT vs MPI_WIN_WAIT) but that’s no excuse to add another. The name MPI Sessions has achieved some useful brand awareness, which we shouldn’t give up lightly.

2a) For MPI_T_CVAR_GET_INFO, I’m not seeing the conflict. The parameters are {int,string,int,int,MPI_Datatype,} so there is nowhere to pass MPI_COMM_WORLD *as a communicator, i.e. MPI_COMM*. Of course, MCW is a link-time constant handle, so its value can be used pretty much anywhere with suitable casting. I would not expect int george = (int)MPI_COMM_WORLD; to need the communicator represented by the symbol to exist.

2b) For MPI_T_CVAR_HANDLE_ALLOC, I like your option of a “not now” error. Alternatively, see (3b) below.

3a) For MPI_T_PVAR_GET_INFO, I’m not seeing the conflict (as for CVAR in (2a) above).

3b) For MPI_T_PVAR_HANDLE_ALLOC, would it be possible to attach the pvar to a skeleton mcw and always return dummy/default values (e.g. all counters would stick at zero) when queried? How much of mcw would need to exist (my assumption - none of it)? If some future action causes MCW to be created properly, i.e. MPI_INIT is called, then the pvar would be attached to it during that creation and start giving non-dummy/default answers. This change could be made irrespective of MPI Sessions.
MPI_T_INIT();
MPI_T_PVAR_HANDLE_ALLOC(…MCW…);
MPI_INIT();
// MCW already has PVAR attached

4) We should allow the session handle to be passed as the obj_handle so that CVARs and PVARs can be attached to MPI Sessions.

Cheers,
Dan.

> On 27 Jan 2017, at 00:17, Pritchard Jr., Howard <howardp at lanl.gov <mailto:howardp at lanl.gov>> wrote:
> 
> Hi Folks,
> 
> I finally got around to a to-do item for the MPI sessions WG.  I’d said
> I’d look through the MPI_T portion of the tools chapter of the standard
> and see what consequences the MPI Sessions concept would have on that
> section.
> 
> I came up with the following short list:
> terminology collision.  For performance variables, there is an MPI_T_pvar_session construct.  However, it seems to me this is sufficiently distinct from what we’re proposing for sessions that there should not be an issue.
> MPI_T_CVAR_GET_INFO   and MPI_T_CVAR_HANDLE_ALLOC.  These have a handle to a MPI object argument.  It is legal to pass MPI COMM WORLD/COMM SELF in as the argument.  So we’d need to figure out how to handle these cases in the context of an application that doesn’t explicitly call MPI_INIT or one of the other MPI functions that, according to our proposal, has the side effect of creating MPI_COMM_WORLD/SELF.  One option might be to return MPI_ T_ ERR_ CVAR_ SET_ NOT_ NOW error code.
> A similar problem exists for MPI_T_PVAR_GET_INFO and MPI_T_PVAR_HANDLE_ALLOC.  Curiously, there is no analogous MPI_T_ERR_PVAR_SET_NOT_NOW error code.
> That’s what I came up with for first order items that would be impacted by Sessions, beyond minor languages changes in the text to indicate, for instance, that a Session handle could be passed to MPI_T_CVAR_HANDLE_ALLOC, etc.
> 
> Howard
> 
> 
> -- 
> Howard Pritchard
> HPC-DES
> Los Alamos National Laboratory
> 
> _______________________________________________
> mpiwg-sessions mailing list
> mpiwg-sessions at lists.mpi-forum.org <mailto:mpiwg-sessions at lists.mpi-forum.org>
> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-sessions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-sessions/attachments/20170127/bd47e626/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-sessions/attachments/20170127/bd47e626/attachment.ksh>


More information about the mpiwg-sessions mailing list