1

我正在使用 mpi4py 对分布式应用程序进行建模,并且我希望所有进程都写入一个公共文件。是否有任何功能可以在没有竞争条件的情况下实现这一点?

4

3 回答 3

0

可能值得看看 h5py 的并行实现

http://docs.h5py.org/en/latest/mpi.html

只要您正确构建它,它就可以很好地与 mpi4py 一起使用

于 2014-09-19T10:49:23.947 回答
0

您应该查看使用 MPI I/O 的众多教程之一。我确信有一些方法可以在 mpi4py 中使用它。

于 2014-08-19T17:44:01.457 回答
0

我有一个类似的问题。对我来说,解决这个问题的最简单方法是让每个进程都写到自己的文件中,并包含一个时间戳。然后可以稍后处理此文件以整理所有内容。

例如,包括 (python3-style) 打印,如:

print("进程 %d 刚刚在 %s 收到点 %r" % (rank, point,str(datetime.datetime.now())))

只需在顶部包含日期时间。mpi4py 似乎以一种有趣的方式缓冲了它的一些 I/O,因此每个进程保持自己的输出是最强大的解决方案。

于 2015-02-11T15:50:32.660 回答