我想用 MPI IO 来写文件。这些进程处于一个while循环中,它调用一个生成随机数据量的函数。我想将此数据写入单个文件。我怎样才能做到这一点?
问问题
176 次
2 回答
0
在 while 循环的每次迭代中,每个进程都知道将写入多少数据。使用 MPI_SCAN 共享该数据,然后使用 MPI_File_write_at_all 集体写入:
incr = generate_random_data();
MPI_Scan(&incr, &new_offset, 1, MPI_LONG_LONG_INT,
MPI_SUM, MPI_COMM_WORLD);
new_offset -= incr;
ret = MPI_File_write_at_all(mpi_fh, new_offset, buf, count,
datatype, status);
于 2014-10-15T01:56:32.317 回答
0
它可能会帮助您:
但也许你需要传递一个包含每个进程起点的变量..
于 2014-03-17T12:21:19.527 回答