我需要读取(和写入)一些二进制小端文件。我正在使用英特尔 FC 和英特尔 MPI 在 PC 上编写我的 fortran 代码。I/O 在 PC 上运行良好,但最终原因是在 Bluegene/P 上运行程序。Bluegene/P(XL Fortran 编译器)具有大字节序。当我需要非并行 I/O 操作(如 fortran REED & WRITE)时,我正在使用
call SETRTEOPTS('ufmt_littleendian=8')
不幸的是,当我需要并行 I/O 时,例如 MPI_FILE_READ,“SETRTEOPTS('ufmt_littleendian=8')”被忽略。我正在设置视图:
call MPI_FILE_SET_VIEW(ifile, offset, MPI_FLOAT, MPI_FLOAT, 'native', MPI_INFO_NULL, ierr)
我应该怎么办?我不想创建自己的 DATAREP。还有其他方法吗?速度非常重要。