1

我开始为我的分子动力学代码学习 mpi i/o。首先,我尝试运行这段代码:

http://www.mcs.anl.gov/research/projects/mpi/usingmpi2/examples/starting/io3f_f90.htm

编译并运行后,我得到了'testfile'。但是当我'vim testfile'时,我看到很多无法识别的字符,例如'^A^@^@^@^B^@^@^@^C^@^@^@^D^@^@^@ ^E^@^@^@^F^@^@^@^G^@^'。而且我也无法在 gedit 中打开它(它说文件的类型未知)

知道发生了什么吗?我根本没有修改代码。

我在 Ubuntu 上使用了 Open MPI 1.7 和 ifort 13,我的笔记本电脑上的处理器是 intel i7(4 核/8 线程)。我确信 MPI 有效。我在这个测试中使用了 -np = 4。

谢谢

4

1 回答 1

0

MPI I/O 是到/从二进制文件。特别是,您的视图设置为native

``native''
此表示中的数据完全按照内存中的方式存储在文件中。

如果您引用的是文件的开头,那么这对应于将 0 到 8 作为 4 字节 little-endian 整数写入的示例文件。 vim仅代表非打印 ASCII 字符。或者,就像hexdump它一样

00000000 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 |......|

等等

要继续 Fortran 主题,您可以再次使用 MPI I/O 或通过串行程序stream中的正常语句访问来读取此输出文件。open

于 2014-01-26T17:57:45.053 回答