当我使用 mpiexec -n 5 python mpiTest.py
运行下面的代码时,我希望每个进程立即打印其消息,然后在指定的时间内休眠。相反,它的执行就像我把 print
在 sleep
之后的命令命令。为什么会发生这种情况,我怎样才能让它按预期运行?
添加 MPI.COMM_WORLD.Barrier()
print
之间和 sleep
命令没有帮助。
我在 win10 上使用 MS-MPI。
from mpi4py import MPI
import random
import time
def delayed():
random.seed()
sek = random.randint( 1, 5 )
print( "Delaying for ", sek, " seconds." )
time.sleep( sek )
return
delayed()
最佳答案
添加 sys.stdout.flush()
后 print
调用成功了,非常感谢! =)
关于python - 如何在执行 time.sleep() 之前让 mpi4py 进程完成打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195996/