PARALLEL.RU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 12 мар 15 9:40 
Не в сети

Зарегистрирован: 12 мар 15 9:28
Сообщения: 1
Добрый день!
Только начинаю разбираться с параллельным программированием. Подскажите, пожалуйста, как на с++ с использованием MPI указать, какой цикл должен выполняться последовательно, а какой - параллельно. Это нужно для того, чтобы организовать конструкцию с параллельным циклом внутри последовательного.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 мар 15 10:44 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
В MPI такое невозможно. MPI предназначен только для пересылки сообщений между параллельными процессами. Поэтому понятие "параллельного/последовательного выполнения цикла" тут теряет смысл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 15 19:50 
Не в сети

Зарегистрирован: 16 июн 14 18:41
Сообщения: 9
Ом ном ном. Если я правильно понимаю, то в программе на C с MPI если сделать так, то цикл последовательно сделается: for(i=0;i<1000;i++) {действие} Все процессы выполнят этот цикл
А если так то последовательный цикл будет сделан только одним процессом(например вторым):
if(rank==2) for(i=0;i<1000;i++) {действие}
А если так, то каждый процесс параллельно выполнит (1000/size) шагов
Где rank - номер вычислительного процесса, size - количество всех вычислительных процессов
for(i=rank;i<1000;i=i+size) {действие}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 15 12:27 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Видимо, имелось в виду так:

Код:
for(i=0;i<size;i=i++) {index=size*rank+i; действие}


Да, всё верно. Именно поэтому я и говорил, что понятие "параллеьного выполнения цикла" тут теряет смысл - вы должны сделать его самостоятельно, в MPI таких примитивов нет. В MPI есть только параллельное выполнение процессов, а что уж вы там будете выполнять - не его дело.


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

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


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

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


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

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