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/