[Mpi-22] MPI-2.1 ambiguity?

Jeff Squyres jsquyres at [hidden]
Fri Jul 18 13:02:41 CDT 2008



On Jul 17, 2008, at 12:41 PM, William Gropp wrote:

> There's another option.  Drop the requirement that all of the  
> predefined datatypes are predefined in all languages, but specify  
> that they may be used (with the appropriate handle conversion) as  
> input to any routine where it makes sense.

Just curious: if you drop the requirement for direct access to all the  
predefined datatypes in all languages, why do you need to specify  
anything else?  MPI-2.1:16.3.4 (transfer of handles -- the *f2c/*c2f  
stuff) seems to be sufficient.  Is there a need to say something more?

Further, if we drop the requirement, do we need a "high quality  
implementation" note about making all predefined handles available in  
all languages for MPI programmer convenience?  I.e., what reasonable  
expectation should an MPI programmer have (particularly for already- 
existing codes) about accessing language A's predefined handles in  
language B?  Should they *always* call C to do the translation?

> For datatypes, this includes the datatype construction routines but  
> not the communication routines (don't use MPI_INT when sending  
> INTEGERs with Fortran).  This is what the Opaque Objects text expects.

To me, dropping the requirement sounds like we're just making the  
user's life hard -- a Fortran library may have to introduce C code  
into their project, and then figure out all the cross-language  
compiling and linking stuff (which is not for the meek).

It might be a whole lot simpler to specifically define which  
predefined handles need to be available in each language.  The  
spectrum ranges from "all languages' predefined handles must be  
available in every language" to "only that language A's predefined  
handles must be available in language A".  Suggestions?


-- 
Jeff Squyres
Cisco Systems




More information about the Mpi-22 mailing list