Re: [Mpi-forum] MPI_DATATYPE_NULL when count=0
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 <[email protected]> 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:[email protected]] On Behalf Of William Gropp Sent: Wednesday, 13 January 2016 4:52 p.m. To: Main MPI Forum mailing list <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 [email protected] http://jeffhammond.github.io/ _______________________________________________ mpi-forum mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
-- Jeff Hammond [email protected] http://jeffhammond.github.io/ _______________________________________________ mpi-forum mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
_______________________________________________ mpi-forum mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
participants (1)
-
William Gropp