|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.12.2009, 18:06 | #11 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
касательно задания матрица не квадратная и количество процессов эквивалентно количеству строк.
что прога дает при матрице 5 на 5 и при 5-и процессах?? (сам не могу проверить, т.к. сижу на компе без сишки) |
24.12.2009, 19:09 | #12 |
Регистрация: 23.12.2009
Сообщений: 9
|
матрица квадратная, значение N=M в данном случае.
а кол-во процессов должно быть кратно N. т.е. если процессов 6 то матрица должна быть соответственно 2 на 2 ,3 на 3 и 6 на 6. если процессов 4 то 4на4 и 2на2. если 5 то 5на5 только. а вот если взять количество процессов 6 и матрицу 3 на 3 , то программа не может найти максимальные элементы в строках матрицы. аналогично если процессов 8 то не может найти в матрице 4на4 и 2на2. |
24.12.2009, 19:13 | #13 |
Регистрация: 23.12.2009
Сообщений: 9
|
находит только тогда когда N равно кол-ву процессов.
|
24.12.2009, 19:47 | #14 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
Первое: прога скорее всего и не должна работать при N меньшем количества процессов. Т.к. MPI_Scatter раздает части твоего массива процессам, а ведь строк меньше чем процессов! Вопрос что получат остальные? На это я ответить пока не могу(возьможно NULL -что вызывает ошибки, которые обрабатываются самой функцией, поэтому тебе про них не говорят). Но ошибка явно в этом!
Второе: По заданию N кратно количеству процессов - если не изменяет память, и здравый смысл, то вроде бы N должно делится на цело на количество процессов. Т.е. N больше количества процессов. Например Строк 8 процессов 4,2,1. |
24.12.2009, 19:52 | #15 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
Ну и касательно того случая когда количество процессов будет меньше чем количество строк.
Тебе надо будет организовать систему которая следила бы за тем какой из процессов закончил свою работу, и снова его загрузить. |
25.12.2009, 10:30 | #16 |
Регистрация: 23.12.2009
Сообщений: 9
|
Иправил прогу.
при равном находит нормально N равно процессам. а при 3х процессах и матрице 6на6 находит неправильно. кажетс ошибка в МПИ_Скаттере либо в чунке |
25.12.2009, 10:54 | #17 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
Выложи исправленый вариант. Возможно ты прав по поводу скатерра. Пробовал отследить прием-оправку?
|
25.12.2009, 17:56 | #18 |
Регистрация: 23.12.2009
Сообщений: 9
|
Код:
|
25.12.2009, 17:59 | #19 |
Регистрация: 23.12.2009
Сообщений: 9
|
теперь программа требует маленькой доработки.
поиск,когда N кратно процессам и не равно. при 2х процессах матрице 6на6 или 4на4. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
стандартная сортировка пузырьком. параллельное программирование. | lamont61 | Помощь студентам | 2 | 11.12.2009 15:12 |
Параллельное программирование | Renegad | Фриланс | 5 | 10.06.2008 18:11 |
Реализация модели эволюции клетки. Параллельное программирование на языке с. | Заноза | Помощь студентам | 4 | 03.04.2008 22:13 |
Параллельное программирование | Ugly | Win Api | 7 | 16.03.2008 15:33 |