我的 MPI 应用程序有一些生成一些大数据的过程。假设我们有 N+1 个进程(一个用于主控,其他是工作进程),每个工作进程都会生成大数据,现在只是写入普通文件,命名为 file1,file2,...,fileN。每个文件的大小可能完全不同。现在我需要将所有文件 M 发送到排名 M 进程以完成下一项工作,所以这就像所有数据传输一样。
我的问题是我应该如何使用 MPI API 有效地发送这些文件?我以前使用Windows共享文件夹来传输这些,但我认为这不是一个好主意。
我考虑过 MPI_file 和 MPI_All_to_all,但这些函数似乎不太适合我的情况。简单的 MPI_Send 和 MPI_Recv 似乎很难使用,因为每个进程都需要传输大数据,我暂时不想使用分布式文件系统。