[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