用MPI I/O读取文件时,读出的数字不正确。为了验证错误,写了一个简单程序。
读文件的程序:
想要读取的数据 feifei.dat:
2 3 4 5 6
读文件的程序:
#include<iostream>
#include<string.h>
#include "mpi.h"
using namespace std;
int main(int argc,char **argv){
int a=0;
int rank;
MPI_Status status;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_File dv;
MPI_File_open(MPI_COMM_WORLD,"feifei.dat",MPI_MODE_RDONLY,MPI_INFO_NULL,&dv);
MPI_File_read_ordered(dv,&a,1,MPI_INT,&status);
cout<<"My rank = "<<rank<<" reads : "<<a<<endl;
MPI_Finalize();
}
读取错误结果: