Форум сайта python.su
Пытаюсь разобраться с использованием MPI в Python, а именно с mpi4py.
Есть большой словарь, который необходимо обработать в параллельном режиме. Разобрался как передать на все узлы словарь целиком, как обрабатывать тоже более-менее понятно. А вот как потом поочередно получить модифицированные данные на главном узле понять не могу.
Код отправки выглядит так (словарь намеренно упрощенный)
from mpi4py import MPI comm = MPI.COMM_WORLD rank = comm.Get_rank() size = comm.Get_size() if rank == 0: data = {'1': [0], '2': [0]} else: data = None data = comm.bcast(data , root=0) # проверяем наличие на узлах print "[%02d]%s" % (rank, data)
Офлайн