It is the user's responsibility to ensure that the
data representation used to read data from a file is compatible with
the data representation that was used to write that data to the file.
In general, using the same data representation name when writing
and reading a file does not guarantee that the representation is
compatible. Similarly, using different representation names on
two different implementations may yield compatible representations.
Compatibility can be obtained when ``external32'' representation is
used, although precision may be lost and the performance
may be less than when ``native'' representation is used.
Compatibility is guaranteed using "external32" provided at least one of the
following conditions is met.
- The data access routines directly use types
enumerated in Section 9.5.2, page
,
that are supported
by all implementations participating in the I/O.
The predefined type used to write a data item
must also be used to read a data item.
- In the case of Fortran 90 programs,
the programs participating in the data accesses
obtain compatible datatypes using MPI-/ routines that
specify precision and/or range (Section 10.2.5,
page
).
- For any given data item, the programs participating in
the data accesses use compatible predefined types to write and
read the data item.
User-defined data representations may be used to provide
an implementation compatiblity with another implementation's
``native'' or ``internal'' representation.
-
- Advice to users.
Section 10.2.5, page
,
defines routines that support the use of
matching datatypes in heterogeneous environments and contains examples
illustrating their use.(End of advice to users.)
MPI-Standard for MARMOT