On May 31, 2012, at 7:22 AM, Dmitri Gribenko wrote:

>> I can't think of a case offhand where it's acceptable to pass 
>> MPI_DATATYPE_NULL to an MPI function.  I could be missing something, 
>> though...  (actually, I guess I can think of some cases -- we have some 
>> regression test programs that specifically pass MPI_DATATYPE_NULL, just to 
>> ensure that it properly invokes an MPI exception)
> 
> I usually pass <NULL, MPI_DATATYPE_NULL> as arguments which are
> "significant only at root" and that function call is not in the root
> process code path.

Ah, good point.  But in those cases, MPI specifically defines that those 
arguments are wholly ignored on non-root processes.  So you could still even 
pass <&foo, MPI_DATATYPE_NULL>, or <NULL, MPI_INT>, and it would be ok.

>> But even so, if one passes MPI_DATATYPE_NULL, the buffer and count arguments 
>> will be ignored.  So I don't think that we want to require that 
>> MPI_DATATYPE_NULL *requires* a NULL pointer.
> 
> It just doesn't make sense to pass non-null pointer and
> MPI_DATATYPE_NULL (because null pointer will be ignored).  Hence the
> warning.

Hmm.  I'm still a bit torn about this.

>>> *** JMS I'm a bit confused as to why 2int got a tag, but the others
>>>    did not.  We do have C equivalents for all types -- do you need a
>>>    listing of the configure results where we figured out all the C
>>>    equivalents?  (i.e., I can look them up for you -- our configury
>>>    is a bit... deep :-) )
>>> 
>>> I did not annotate them because those are Fortran types.  If there are
>>> some known C equivalents in OpenMPI, I will happily add them.  But
>>> please note that if these equivalents are discovered during configure,
>>> we can not hardcode them into mpi.h.in.  Some autoconf macros will be
>>> needed probably.
>> 
>> We should have AC macros for all of these already.
> 
> OK, I'll try find them to support (1) usecase described below.

No, I'll find them -- sorry, I meant to look them up before I sent the last 
mail.  Let me look them up and get back to you.  Our configury is quite 
complicated, and I know the right places to look.  :-)

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to