![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Siryus |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
Помогите, пожалуйста, мне решить проблему.
Есть несколько паралельных процессов, которые что то там считают. И есть один главный (нулевой) процес который раздает даные процессам для обработки и собирает от них результаты. Мне нужно получать даные от того процесса, который первым закончил обработку своих даных и начал отсылать сообщение нулевому процессу. Вот такой код работать не хочет
здесь 1 и 2 процессы начинаю передавать а нулевой их не принимает даные ни от первого ни от второго. Если в нулевом использовать не MPI_Test, а MPI_Wait то все работаетно тогда даные будут получатся по очереди , сначала от первого а потом от второго, мне нужно получать даные от того кто первым справился с обработкой даных Это сообщение отредактировал(а) MAKCim - 7.6.2008, 11:51 |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Тебе обязательно использовать именно эту библиотеку? Может проще реализовать с помощью очереди и семафора?
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Siryus: Из Вашего кода, я ровным счетом нечего не понял.
Что за переменная a ??? Гуглите - MPICH2. Куча инфы. Добавлено через 2 минуты и 50 секунд bsa: MPI, MPICH1, MPICH2 - Кроссплатформенные библиотеки. Обычно для кодинга под Виндавз, их не используют. Можно предположить что код портируемый. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
может стоит посмотреть в сторону boost::mpi?
это надстройка над интерфейсом mpi, работает с
Добавлено через 1 минуту и 40 секунд
да ну просто это достаточно редкая вещь, кластеры мало кто программирет.. для простого взаимодействия между процессами есть более простые и эффективные средства.. имхо Добавлено через 3 минуты и 51 секунду в общем насколько я знаю это сложная и тяжеловесная штука, поэтому bsa и написал про очередь, тем более в примере очень все примитивно... обычный синхронный обмен сообщениями |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Lazin:
Я это и имел ввиду. Особено под Виндавз. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
эта штука у меня круто работала на 256 процах...эээх....
надо читать по нему документацию и вообще матчасть... были там другие методы взаимодействия, возможно тот что вы применяете не подходит для вашего случая.... дома если найду доков подброшу... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Вот, почитал boost::mpi, круто задвинули. Поудобней чем MPICH. Надо освоить!
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |