当我使用mpiexec -n 5 python mpiTest.py运行下面的代码时,我希望每个进程立即打印其消息,然后休眠指定的时间量。相反,它的执行方式就像我将print命令放在sleep命令之后一样。为什么会发生这种情况?我如何才能让它按预期运行?
在print和sleep命令之间添加MPI.COMM_WORLD.Barrier()无济于事。
我在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()发布于 2017-04-04 07:41:05
在print调用之后添加sys.stdout.flush()成功了,非常感谢!=)
https://stackoverflow.com/questions/43195996
复制相似问题