I need to read (and write) some binary little endian file. I am writing my fortran code on a PC using Intel FC and Intel MPI. I/O works fine on PC, but final cause is running the program on Bluegene/P. The Bluegene/P(XL Fortran Compiler) has big endianness. And when I need non-parallel I/O operations (like fortran REED & WRITE) I am using
call SETRTEOPTS('ufmt_littleendian=8')
Unfortunately, when i need parallel I/O, for example MPI_FILE_READ, "SETRTEOPTS('ufmt_littleendian=8')" is ignored. I am setting view with:
call MPI_FILE_SET_VIEW(ifile, offset, MPI_FLOAT, MPI_FLOAT, 'native', MPI_INFO_NULL, ierr)
What should I do? I dont want to create my own DATAREP. Is there any other way? Speed is very important.