[MPI3 Fortran] MPI-2.1: Fortran 90 bindings
klimach at hlrs.de
Mon Mar 10 12:26:10 CDT 2008
> >> It is required that the send and receive buffers have
> >> compatible type
> >> maps. See MPI-1:4.1:
> Note that this is the only requirement -- compatible type *maps*. Not
> compatible *types*.
> > ...
> Not really. You could send N COMPLEX items and receive N*2 REAL
> items. You can get more creative with C structs and Fortran derived
> types, with the already-mentioned restriction that you might (* see
> below) have to fall back to the F77 bindings for Fortran derived types.
I thought we were talking about basic datatypes only. You obviously
can't provide explicit interfaces with type checking for all possible
Fortran derived types.
I thought compatible type maps require you to have the same basic
types, and if it is allowed to change basic types from sender to
receiver I'm wondering what MPI1 3.3.1 is talking about, when it says:
Communication of typed values (e.g., with datatype different from
MPI_BYTE), where the datatypes of the corresponding entries in the
sender program, in the send call, in the receive call and in the
receiver program must all match.
Most propably I'm understanding something wrong, but to my reading this
should really disallow different basic types for sender and receiver.
More information about the mpiwg-fortran