2012-03-25 3 views
1

Я хотел бы распространять данные на нескольких компьютерах, подключенных по сети TCP/IP, используя OpenMPI .. может ли кто-нибудь указать мне нужные ресурсы и направление. Я новичок в OpenMPI.Передача данных с использованием OpenMPI

Благодаря

ответ

5

Это зависит от языка, на котором вы собираетесь писать программное обеспечение. Но в основном, приложение openMPI выглядит так:

  1. Вызовите MPI_INIT для MPI, чтобы инициализировать необходимые коммуникации для вас между узлами.
  2. Используйте функции MPI_Send, MPI_RECV для отправки или получения данных. Существуют блокирующие и неблокирующие вызовы для этих функций, а также несколько других - трансляция (отправка всем), разброс (распределение данных из массива равными частями каждому хосту) и т. Д.
  3. Используйте MPI_FINALIZE для завершения процесса связи ,

В MPI, есть почти всегда следующий рабочий процесс входит:

  1. Мастер хост назначается - как правило, один с ProcessId = 0. Это функция координации работы подчиненных хостов. В принципе, если вам нужно получить максимальное значение из массива параллельно, его задача - взять массив, распределить его равными долями на подчиненные устройства, собрать результаты из ведомых и выбрать максимальное количество из списка.
  2. Подчиненный хост - ожидает приема данных, выполняет обработку, отправляет результаты обратно на мастер.

Я бы рекомендовал this MPI учебник для разработки C++, а также проверить это so post относительно книг по этой теме.

1

Вот только один из многих MPI tutorials в сети; Я удивлен, что вы этого не нашли.