I want to implement an MPI-IO solution for some of the IO in a large
atmospheric data assimilation system.  Years ago I got some small
demonstration Fortran programs ( I think from Bill Gropp) that seem to
be good candidate prototypes for what I need.  Two of them are attached
as part of simple shell script wrappers (writea, writeb).  Both programs
are doing equivalent things to write a small test file, but using
different MPI functions.  Specifically, 'writea' does multiple writes
into the file using the 'MPI_FILE_SEEK', while 'writeb' does one write
call using 'MPI_TYPE_CREATE_SUBARRAY', and 'MPI_FILE_SET_VIEW'.  My
problem is that while 'writea' works correctly, ' writeb' fails with an
IO_ERROR error code returned from the final 'MPI_FILE_WRITE' call.  I
have look at the code carefully and studied the MPI standard for the
functions used, and can't see what is wrong with the failing call, but I
must be missing something.  I seem to remember the program running
correctly years ago, but that was on another platform and MPI
environment.

My test environment is 64 bit Linux (Scientific Linux 5.5), Intel
fortran 12.0.0, and OpenMPI 1.4.3.  I have attached gzipped output from
'ompi_info' along with the two scripts.  I would appreciate any advice
or corrections.

T. Rosmond


Attachment: writea
Description: C-Shell script

Attachment: writeb
Description: C-Shell script

Attachment: ompiinfo.gz
Description: GNU Zip compressed data

Reply via email to