|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.04.2012, 12:06 | #1 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 81
|
Проблема с написанием алгоритма (C++)
Здравствуйте. Я пишу задачу по параллельному программированию и столкнулся с проблемой. Мне необходимо написать алгоритм, который будет назначать процедурам MPI_Recv и MPI_Send правильные адреса получения и передачи from и to.
Например: Количество итераций = 10; Количество процессов = 5; "Степень параллельности " = 1; Алгоритм: Код:
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10. Количество итераций = 10; Количество процессов = 5; "Степень параллельности " = 2; Алгоритм: Код:
1 -> 3 -> 5 -> 7 -> 9 2 -> 4 -> 6 -> 8 -> 10 Все эти алгоритмы статические и заточены под конкретную "степень параллельности". Мне нужен алгоритм, который бы автоматически выполнял адресацию from и to при указании любой "степени параллельности" не превышающей количество процессов. Помогите мне пожалуйста. |
12.04.2012, 13:25 | #3 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 81
|
Это как? Я не понял. Вся сложность в том, что чем больше степень параллельности, тем больше вложенных лог. операторов. Я не знаю как это решить.
Последний раз редактировалось Brabus; 12.04.2012 в 13:28. |
12.04.2012, 13:53 | #4 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
суммой по модулю не пробовали идентификаторы сопоставлять?
Правильно поставленная задача - три четверти решения.
|
12.04.2012, 14:53 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Код:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 12.04.2012 в 14:55. |
12.04.2012, 15:03 | #6 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 81
|
Я наверное не совсем понятно написал что мне надо. Мне нужен алгоритм, который будет универсальным для любой "степени параллельности". В первом посте первый алгоритм для 1 степени, второй для 2 степени. Для n степени будет n вложенных if then. Как сделать такой алгоритм для n степени?
|
13.04.2012, 15:30 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
ваш код
Код:
Код:
с кучей вложенных if путем замен выделенных в комментариях СВОДИТСЯ к коду для любого наперед заданного level (что есть level смотри комментарии к исходному коду). Код:
Код:
if (myid<=level) {} else {}
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 13.04.2012 в 15:41. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с написанием программы.. | super3994 | Общие вопросы C/C++ | 1 | 16.11.2011 22:36 |
Проблема с написанием программы | PashkaRus | Помощь студентам | 3 | 07.06.2011 11:44 |
Проблема с написанием .bat файла | chet_b | Помощь студентам | 1 | 17.10.2010 20:23 |
проблема с написанием многомодульной программы | серг | Общие вопросы C/C++ | 16 | 18.03.2010 22:11 |