[Mpi-22] Should all constants/types be available in all language bindings?
Jeff Squyres
jsquyres at [hidden]
Thu Oct 23 15:13:22 CDT 2008
I notice that OMPI, MPICH2, Intel MPI, and HP MPI all do the following:
* define Fortran datatypes in mpi.h (e.g., MPI_INTEGER, MPI_DOUBLE)
* define Fortran datatypes in the C++ MPI namespace (e.g.,
MPI::INTEGER, MPI::DOUBLE, etc.)
* do *not* define C datatypes in mpif.h (e.g., MPI_INT, MPI_FLOAT,
etc.)
Why? AFAICT, there is no rule about what constants have to appear in
which language bindings. But doesn't that implicitly mean that all
constants are supposed to appear in all language bindings?
(the argument for having MPI_DOUBLE available in C, for example, is
that a C routine may be invoked to send or receive a message
containing Fortran data. Similar arguments exist for why you'd want
MPI datatypes from other languages available in your language)
This is also related to whether the type MPI::Fint should exist or not.
I just filed a ticket about these issues (https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/56
) and marked it as "feedback requested", meaning that I need feedback
from the Forum before a proposal can be made.
What do people think?
--
Jeff Squyres
Cisco Systems
More information about the Mpi-22
mailing list