Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 15, 2016 14:00:53

jon34
Зарегистрирован: 2016-02-14
Сообщения: 47
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу отправить широковещательное сообщение в mpi

Пытаюсь отправить заданное сообщение всем процессам, но почему-то вывод печатает только главный процесс.
Таинственности данному коду придает тот факт, что если убрать input и задать просто какое-то число, то все будет работать как часы.
Помогите пожалуйста разобраться с этой ерундой.

Запускаю данный код вот так:
mpiexec -n 4 python3 ./temp.py

from mpi4py import MPI
 
comm = MPI.COMM_WORLD
 
while True:
    if comm.rank == 0:
        data = input('Введите число: ')
    else:
        data = None
 
    data = comm.bcast(data, root=0)
 
    print('Process num {}, data {}'.format(comm.rank, data))

Отредактировано jon34 (Фев. 15, 2016 14:01:33)

Офлайн

#2 Фев. 15, 2016 14:42:55

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

Не могу отправить широковещательное сообщение в mpi

import sys
from mpi4py import MPI
 
comm = MPI.COMM_WORLD
data = 1
 
while data > 0:
    if comm.rank == 0:
        data = int(input('Введите число: '))
    else:
        data = None
 
    data = comm.bcast(data, root=0)
 
    print('Process num {}, data {}'.format(comm.rank, data))
    sys.stdout.flush()
    comm.Barrier()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version