I would appreciate someone with experience with MPI-IO look at the
simple fortran program gzipped and attached to this note. It is
imbedded in a script so that all that is necessary to run it is do:
'testio' from the command line. The program generates a small 2-D input
array, sets up an MPI-IO environment, and write a 2-D output array
twice, with the only difference being the displacement arrays used to
construct the indexed datatype. For the first write, simple
monotonically increasing displacements are used, for the second the
displacements are 'shuffled' in one dimension. They are printed during
For the first case the file is written properly, but for the second the
program hangs on MPI_FILE_WRITE_AT_ALL and must be aborted manually.
Although the program is compiled as an mpi program, I am running on a
single processor, which makes the problem more puzzling.
The program should be relatively self-explanatory, but if more
information is needed, please ask. I am on an 8 core Xeon based Dell
workstation running Scientific Linux 5.5, Intel fortran 12.0.3, and
OpenMPI 1.5.3. I have also attached output from 'ompi_info'.