【发布时间】:2014-10-12 14:02:53
【问题描述】:
我正在使用 mpi4py 为分布式应用程序建模,我希望所有进程都写入一个公共文件。是否有任何功能可以在没有竞争条件的情况下实现这一点?
【问题讨论】:
我正在使用 mpi4py 为分布式应用程序建模,我希望所有进程都写入一个公共文件。是否有任何功能可以在没有竞争条件的情况下实现这一点?
【问题讨论】:
您应该查看使用 MPI I/O 的众多教程之一。我确信在 mpi4py 中可以使用它。
【讨论】:
【讨论】:
我遇到了类似的问题。对我来说,解决这个问题的最简单方法是让每个进程写入自己的文件,并包含时间戳。然后可以随后处理此文件以整理所有内容。
例如,包括(python3-style)打印,如:
print("进程 %d 刚刚在 %s 收到点 %r" % (rank, point,str(datetime.datetime.now())))
只需在顶部包含日期时间。 mpi4py 似乎以一种有趣的方式缓冲了它的一些 I/O,因此每个进程保持自己的输出是最强大的解决方案。
【讨论】: