[Mpi-forum] MPI_DATATYPE_NULL when count=0
William Gropp
wgropp at illinois.edu
Wed Jan 13 07:47:33 CST 2016
True, MPI_BOTTOM need not be null, but it might be, so the standard doesn’t prohibit it.
A carefully worded exception to the general rule for NULL handles would be ok. I would still make it narrow; for example, just for the use of MPI_DATATYPE_NULL in communication operations with a zero count.
Bill
William Gropp
Director, Parallel Computing Institute
Thomas M. Siebel Chair in Computer Science
Chief Scientist, NCSA
University of Illinois Urbana-Champaign
On Jan 12, 2016, at 11:22 PM, Fab Tillier <ftillier at microsoft.com> wrote:
> Don’t datatypes with absolute addresses rely on MPI_BOTTOM, and a portable program can’t assume that MPI_BOTTOM == NULL?
>
> I think from an ease of use perspective, if I have a count of zero, having to pick an arbitrary committed datatype is non-intuitive. If count is zero, there is no buffer or datatype, and there should be no requirement such non-existent datatype be committed.
>
> Cheers,
> -Fab
>
> From: mpi-forum [mailto:mpi-forum-bounces at lists.mpi-forum.org] On Behalf Of William Gropp
> Sent: Wednesday, 13 January 2016 4:52 p.m.
> To: Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>
> Subject: Re: [Mpi-forum] MPI_DATATYPE_NULL when count=0
>
> Yes, NULL buffers are valid - they aren’t an MPI object. There is no prohibition about passing them; only if they are used to form an invalid address (note that a datatype with absolute addresses relies on NULL as the buffer address).
>
> Bill
>
> William Gropp
> Director, Parallel Computing Institute
> Thomas M. Siebel Chair in Computer Science
> Chief Scientist, NCSA
> University of Illinois Urbana-Champaign
>
>
>
>
>
> On Jan 12, 2016, at 9:49 PM, Jeff Hammond <jeff.science at gmail.com> wrote:
>
>
> Who wrote Example 4.23 of MPI 3.1?
>
> I propose to add the exception rather than delete that example. I do not want to have to use real datatypes when sending nothing.
>
> Is NULL a valid buffer handle? Can I pass null pointers when count=0?
>
>
> Jeff
>
>
> On Tuesday, January 12, 2016, William Gropp <wgropp at illinois.edu> wrote:
> The standard says that the null handles are invalid for input unless explicitly permitted. There’s no exemption for a datatype argument where the associated count is zero.
>
> Bill
>
> William Gropp
> Director, Parallel Computing Institute
> Thomas M. Siebel Chair in Computer Science
> Chief Scientist, NCSA
> University of Illinois Urbana-Champaign
>
>
>
>
>
> On Jan 12, 2016, at 9:26 PM, Jeff Hammond <jeff.science at gmail.com> wrote:
>
>
> Is it allowed to communicate messages with (buffer=NULL,count=0,type=MPI_DATATYPE_NULL)?
>
> George thinks MPI_DATATYPE_NULL cannot be used even when count=0, which I think is ridiculous, particularly when one makes the analogy to buffer=NULL.
>
> See http://www.open-mpi.org/community/lists/users/2016/01/28255.php for the thread in question.
>
> There is example code in MPI that uses this behavior. George and I agree that example text is non-normative, but I cannot imagine how this example came to exist without the Forum believing it to be valid.
>
> Jeff
>
> --
> Jeff Hammond
> jeff.science at gmail.com
> http://jeffhammond.github.io/
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
>
>
>
> --
> Jeff Hammond
> jeff.science at gmail.com
> http://jeffhammond.github.io/
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
>
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpi-forum/attachments/20160113/8e40cf58/attachment-0001.html>
More information about the mpi-forum
mailing list