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@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@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@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@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@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@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.
 
 
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.
_______________________________________________
mpi-forum mailing list
mpi-forum@lists.mpi-forum.org
http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
 
 
_______________________________________________
mpi-forum mailing list
mpi-forum@lists.mpi-forum.org
http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum