Re: [MPI3 Fortran] MPI-2.1: Fortran 90 bindings
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. Best regards, Harald
participants (1)
-
Harald Klimach