[MPI3 Fortran] MPI Data types

Bill Long longb at cray.com
Thu May 7 08:29:18 CDT 2009

Jeff Squyres wrote:
> On May 6, 2009, at 5:59 PM, Craig Rasmussen wrote:
>> I'm not very familiar with creating and using MPI data types.  Does
>> anyone foresee interoperability issues with MPI data types and Fortran?
> Creating and using MPI datatypes are mainly just describing to MPI 
> what a "native" datatype looks like in memory.  One reason for this is 
> that if you have non-contiguous data in memory, MPI can serialize it, 
> send it across a network, and then lay it out in memory just like it 
> was in the sender's memory (assuming the source and destination are 
> the same type of platform, etc.).

So, inside a wrapper C wrapper routine,  could the information available 
in our Cdesc structure be used create the corresponding MPI datatype, 
and then use that in the internal MPI Call?   This avoids the need for a 
copy at all, does not require any modifications to the Request data 
structure, and also relieves the Fortran user from creating his own MPI 
datatype.  This sounds like the best solution yet.  (Or , maybe that's 
been the plan all along, and I've just figured it out :) ).


> So the word "datatype" here is a little confusing -- do not mix it up 
> with language data types.  It's really just a memory layout 
> description so that MPI can serialize / de-serialize data when 
> transmitting / receiving across a network.

Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120


More information about the mpiwg-fortran mailing list