我的MPI应用程序有一些生成一些大数据的过程。假设我们有N + 1个进程(一个用于主控制,另一个用于工作),每个工作进程生成大数据,现在只需写入普通文件,名为file1,file2,...,fileN。每个文件的大小可能完全不同。现在我需要发送所有fileM来排名M进程来完成下一个工作,所以它就像所有数据传输一样。
我的问题是我应该如何使用MPI API有效地发送这些文件?我曾经使用windows share文件夹来传输这些文件,但我认为这不是一个好主意。
我考虑过MPI_file和MPI_All_to_all,但这些函数似乎不适合我的情况。简单的MPI_Send和MPI_Recv似乎很难被使用,因为每个进程都需要传输大数据,我现在不想使用分布式文件系统。
答案 0 :(得分:3)
如果没有更多的数据,只有你现在拥有的数据,才能准确回答你的问题。所以这里有一些普遍性,你必须考虑它们,看看是否以及如何在你的情况下应用它们。