Найти - Пользователи
Полная версия: Не могу отправить широковещательное сообщение в mpi
Начало » Центр помощи » Не могу отправить широковещательное сообщение в mpi
1
jon34
Пытаюсь отправить заданное сообщение всем процессам, но почему-то вывод печатает только главный процесс.
Таинственности данному коду придает тот факт, что если убрать 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))
alex925
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()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB