Edgar and Christoph, i do not think ROMIO supports this yet.
from ompi/mca/io/romio/romio/README "This version of ROMIO includes everything defined in the MPI I/O chapter except support for file interoperability [...]" i also ran ompi/mca/io/romio/romio/test/external32.c : on a x86_64 box (little endian) $ ./external32 native datarep is LITTLE ENDIAN external32 datarep is LITTLE ENDIAN internal datarep is LITTLE ENDIAN on a ppc64 box (big endian) $ ./external32 native datarep is BIG ENDIAN external32 datarep is BIG ENDIAN internal datarep is BIG ENDIAN that being said : with mpich (trunk), on a x86_64 box : $ ./external32.mpich native datarep is LITTLE ENDIAN external32 datarep is BIG ENDIAN internal datarep is LITTLE ENDIAN here is the output of mpi-io-external32 (with mpich) : $ ./mpi-io-external32.mpich Output file: mpi-io-external32.dat [-1] Block at address 0x0000000000c6f0e8 is corrupted (probably write past end) [-1] Block being freed allocated in rc/mpich/src/mpi/romio/mpi-io/mpiu_external32.c[159] [-1] Block cookie should be f0e0d0c9 but was e2ffffff4c054000 $ od -t x1 ./mpi-io-external32.dat 0000000 ff ff ff e2 00 00 00 00 40 30 40 00 MPI_INT was written big endian (good) but MPI_DOUBLE was written little endian (bad) my conclusion is that the ROMIO included in OpenMPI is a few steps behind the one provided with MPICH and/but MPICH ROMIO does not fully support file interoperability Cheers, Gilles On 2014/04/29 22:27, Edgar Gabriel wrote: > the way you launch the app, you will be using ROMIO, and I am not 100% > sure about how the data representation stuff is integrated with OMPI. I > am pretty sure that we are not doing the right thing for OMPIO, but I > will look into later this week. > > Thanks > Edgar > > On 4/29/2014 7:03 AM, Christoph Niethammer wrote: >> Hello, >> >> It seems for me that the endianness is wrong in Open MPI's I/O for the >> external32 data representation. :O >> >> Find attached my test programs which write the integer -30 and the double >> 16.25 into a file. >> Here the output on my Linux system: >> >> mpicc c-xdr.c -o c-xdr >> mpicc mpi-io-external32.c -o mpi-io-external32 >> ./c-xdr >> Output file: c-xdr.dat >> hexdump c-xdr.dat >> 0000000 ffff e2ff 3040 0040 0000 0000 >> 000000c >> ./mpi-io-external32 >> Output file: mpi-io-external32.dat >> hexdump mpi-io-external32.dat >> 0000000 ffe2 ffff 0000 0000 4000 4030 >> 000000c >> >> >> Best regards >> Christoph Niethammer >> >> -- >> >> Christoph Niethammer >> High Performance Computing Center Stuttgart (HLRS) >> Nobelstrasse 19 >> 70569 Stuttgart >> >> Tel: ++49(0)711-685-87203 >> email: nietham...@hlrs.de >> http://www.hlrs.de/people/niethammer >>