Когда я запускаю приведенный ниже код с помощью mpiexec -n 5 python mpiTest.py
, я ожидаю, что каждый процесс немедленно напечатает свое сообщение, а затем приостановится на указанное количество времени. Вместо этого он выполняется так, как если бы я поставил команду print
ПОСЛЕ команды sleep
. Почему это происходит и как я могу заставить его вести себя так, как ожидалось?
Добавление MPI.COMM_WORLD.Barrier()
между командами print
и sleep
НЕ помогает.
Я использую MS-MPI на Win10.
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
. - person eduffy   schedule 04.04.2017