我正在尝试写入文件,这是一个示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>
int main(int argc, char * argv[])
{
MPI_File mf;
int buf[1000], rank, i;
MPI_Init(0,0);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_File_open(MPI_COMM_WORLD, "test.txt", MPI_MODE_CREATE|MPI_MODE_RDWR, MPI_INFO_NULL, &mf);
if(rank==0) {
for(i=0; i<1000; i++) {
buf[i]=1; printf("bf[%d]=%d\n",i,buf[i]);
}
MPI_File_write(mf, buf, 1000, MPI_INT, MPI_STATUS_IGNORE);
}
MPI_File_close(&mf);
MPI_Finalize();
return 0;
}
它不是写作,但它确实从rank = 0的线程打印东西。
理想情况下,我喜欢它只是从所有线程写入一个文件,顺序无关紧要。
代码取自here。
p.s。:mpi新手。
其他资源:
刚刚找到很酷的教程here。
Here它说MPI_File_write“从通话中返回并不能保证数据已写入存储设备”......它没有变得更好......
说明:
我试图编译并运行多个代码e.g.。他们编译,运行没有错误,但甚至不创建数据文件! SOS!