PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 19 апр 21 14:09

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: MPI_Reduce vs MPI_Isend
СообщениеДобавлено: 25 фев 15 23:11 
Не в сети

Зарегистрирован: 25 фев 15 22:57
Сообщения: 3
Доброго дня!

Есть задача поиска глобального минимума. Эту задачу решает MPI_Reduce, но MPI_Reduce - блокирующая операция. Будет ли эффективнее выполнить N неблокирующих MPI_Isend точка-точка для одного double, а затем N MPI_Irecv и MPI_Waitall, благо потребность в минимуме возникает несколько позже, чем появляются значения по которым надо искать минимум? Или знатоки подскажут, что сотни 8-байтовых пересылок безнадежно медленнее одного MPI_Reduce? Тест на 64 процессах дал неопределенный результат...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPI_Reduce vs MPI_Isend
СообщениеДобавлено: 26 фев 15 17:05 
Не в сети

Зарегистрирован: 2 ноя 11 19:40
Сообщения: 26
Откуда: Владивосток
Я думаю, что на сотне 8-байтовых double'ов вы особо не заметите разницы, что у вас быстрее или медленее... переслать 800 байт по сети, это даже для Ethernet плевая задача.
Поэтому выбирайте MPI_Reduce и не думайте - будет меньше работы по части программирования.
Также, думаю, что те кто пишут MPI тоже не дураки, и наверняка в исходниках того же OpenMPI можно найти реализацию MPI_Reduce, которая в том числе учитывает вопросы оптимизации пересылки и выполнения самой операции редукции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPI_Reduce vs MPI_Isend
СообщениеДобавлено: 26 фев 15 21:46 
Не в сети

Зарегистрирован: 25 фев 15 22:57
Сообщения: 3
Спасибо за ответ! Меня беспокоит то, что, например, при распараллеливании на 1000 процессов каждый процесс создаст по 1000 пересылок. Всего - 1000000 пересылок. И это не пересылка 8 мегабайт по езернету одим пакетом, а миллион отдельно управляемых операций.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPI_Reduce vs MPI_Isend
СообщениеДобавлено: 27 фев 15 11:38 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Вы спутали MPI_Reduce и MPI_All_Reduce. В reduce будет 1000 пересылок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPI_Reduce vs MPI_Isend
СообщениеДобавлено: 27 фев 15 19:03 
Не в сети

Зарегистрирован: 25 фев 15 22:57
Сообщения: 3
Не спутал! Я говорил о своей попытке использовать удаленность времени вычисления локального (на процессе) параметра от времени его использования. Мое сомнение было в том, что если каждый из 1000 процессов сделает 1000 MPI_Isend в адрес всех, то это будет миллион операций. И, даже, если есть какой-то запас времени до 1000х1000 MPI_Irecv, то будет ли это быстрее MPI_Reduce? Но, впрочем, я уже отдал предпочтение MPI_Reduce. Тему можно считать закрытой. Всем спасибо! :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPI_Reduce vs MPI_Isend
СообщениеДобавлено: 4 ноя 20 18:03 
Не в сети

Зарегистрирован: 4 ноя 20 14:26
Сообщения: 4
To setup your McAfee antivirus visit www.mcafee.com/activate and mcafee.com/activate enter your product key and then verify your email address.

Once you do all the steps, you are ready to download the setup.

Download it and then run it on your computer to install it mcafee activate .


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB