我正在使用 mpi4py 对分布式应用程序进行建模,并且我希望所有进程都写入一个公共文件。是否有任何功能可以在没有竞争条件的情况下实现这一点?
问问题
983 次
3 回答
0
于 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 回答