I suggest that we add a parameter to MPI_Open, for the user to
indicate whether he needs file interoperability or not.
The reason for this is that the user may not always need file
interoperability, e.g. during program development,
debugging, even some production runs. In such cases, I/O could be done
more efficiently with noninteroperable files.
The parameter could be a flag called "Interop".
Interop = False would mean the following:
1. User does not need interoperability for this file. But the file
is not necessarily a scratch file, i.e. not Delete_on_close.
2. If the file is to be created in this run, the user can reliably
reuse it only on the same machine with the same MPI-IO
implementation. On a heterogeneous system, it means identical
node configuration.
3. If a previously created file is to be read in this run, it means
that it was created with "Interop = False" by the same MPI-IO
implementation on the same machine. On a heterogeneous system, it
means identical node configuration.
Interop = True means that the file must be interoperable. How exactly
that is done still remains to be solved!
Rajeev
-- Rajeev Thakur Mathematics and Computer Science Division Tel: (708) 252-1682 Argonne National Laboratory Fax: (708) 252-5986 9700 S. Cass Avenue email: thakur@mcs.anl.gov Argonne, IL 60439 URL: http://www.mcs.anl.gov/people/thakur