首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在执行time.sleep()之前让mpi4py进程完成打印?

如何在执行time.sleep()之前让mpi4py进程完成打印?
EN

Stack Overflow用户
提问于 2017-04-04 07:35:49
回答 1查看 2.2K关注 0票数 3

当我使用mpiexec -n 5 python mpiTest.py运行下面的代码时,我希望每个进程立即打印其消息,然后休眠指定的时间量。相反,它的执行方式就像我将print命令放在sleep命令之后一样。为什么会发生这种情况?我如何才能让它按预期运行?

printsleep命令之间添加MPI.COMM_WORLD.Barrier()无济于事。

我在win10上用的是MS-MPI。

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2017-04-04 07:41:05

print调用之后添加sys.stdout.flush()成功了,非常感谢!=)

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43195996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档