Форум программистов, компьютерный форум CyberForum.ru

mpi суммирование - C++

Восстановить пароль Регистрация
 
metallica
0 / 0 / 0
Регистрация: 24.09.2007
Сообщений: 16
27.11.2012, 15:53     mpi суммирование #1
Привет!
Такой вопрос. Никак не могу додуматься до реализации такого фрагмента кода. Есть несколько потоков, для каждого из них есть массив, соответственно, один и тот же. В процессе работы программы надо суммировать соответствующие элементы каждого массива, допустим, в массив процесса 0. Как это можно сделать?
Заранее спасибо за ответ!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 15:53     mpi суммирование
Посмотрите здесь:

C++ MPI
[MPI] Ошибки линковки C++
C++ MPI и scanf в С++
Книги по MPI для C++ C++
MPI C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
27.11.2012, 16:17     mpi суммирование #2
Ну можно положить суммарный массив потока №0 в критическую секцию и из каждого потока смотреть: если секция свободна, тогда быстренько занять ее, просуммировать, освободить.
Соответственно массив должен быть видим из каждого потока.

Во. Можно еще рядом с суммарным массивом положить какой-либо определитель - чья очередь сейчас в него писать. Если критично чтобы потоки писали в него по очереди, не перебивая друг друга.
Мьютекс, блин.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
27.11.2012, 16:21     mpi суммирование #3
используйте MPI_Reduce
вот например, в 3-м посте пример как у Вас
metallica
0 / 0 / 0
Регистрация: 24.09.2007
Сообщений: 16
27.11.2012, 16:23  [ТС]     mpi суммирование #4
спасибо! буду разбираться.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
27.11.2012, 16:23     mpi суммирование #5


пожалуйста
Yandex
Объявления
27.11.2012, 16:23     mpi суммирование
Ответ Создать тему
Опции темы

Текущее время: 06:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru