Главная » Просмотр файлов » В.Д. Корнеев - Параллельное программирование в MPI

В.Д. Корнеев - Параллельное программирование в MPI (1162616), страница 30

Файл №1162616 В.Д. Корнеев - Параллельное программирование в MPI (В.Д. Корнеев - Параллельное программирование в MPI) 30 страницаВ.Д. Корнеев - Параллельное программирование в MPI (1162616) страница 302019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 30)

Процесс 1 посылает пипз элементов из 1ей колонки нз массива 100*150 Фактор усложнения — то, что различные значения ппш не известны корневому процессу, тш что корень должен сначала выяснять их. Данные размещаются рядом в приемном конце. б. У.

Разброс данных ИР1 ЯСАТТЕВ(ЯЕМРВРР, ЯЕМРСОРМТ, ЯЕМРТУРЕ, ВЕСЧВРГ, ВЕСЧСОРМТ,КЕСЧТЧРЕ, ВОСТ, СОИМ, 1ЕКВОК) <туре> ЯЕМРВОР(»), КЕСЧВОР(») 1МТЕОЕК ЯЕМОСООМТ, ЯЕМОТЧРЕ, ВЕСЧСОРМТ, ВЕСЧТУРЕ, ВОСТ, СОИМ, 1ЕККОК ИР1 ЯСАТТЕК вЂ” обратная операция к ИР1ЛАТНЕВ. Результат выглядит так, как будто корень выполнил и посылающих операций МР1 Яепб(зепбЬпт+1»зелбсоппс»ехсепс (зепбсуре), зепбсоппс,зепбсуре,1,...), 1=0 до и-1.

И каждый принимающий процесс выполнил функцию ИР1Весч(гесчЬи1, гесчсоипп, гесчтуре, гоот,...). Альтернативное описание выглядит так, как будто корень посылает сообщение функпией ИР1 ЯЕМР (зелбЬпт, зепбсоипс»п, зепбсуре,... ) . Это сообщение — набор л равных сегментов, 1-й сегмент послан 1-му процессу в группе, и каждый пропесс получает зто сообщение, как описано выше. Аргументы зепбсоплс и зепбсуре в корне должны быть равны аргументам гесчсоцпс и гесчсуре во всех процессах.

Это подразумевает, что количество посланных данных должно быть равно количеству полученных данных, попарно между каждым процессом и корнем. Различные отображения типа между передающим и принимающим процессами все еще допускаются. Все аргументы в функции значимы на корневом процессе, в то время как на других процессах, значимы только аргументы гесчЬцт, гесчсоипп, гесчсуре, гоос, соппп. Все процессы Процесс корня Рис. 6.Т. Процесс корня передает наборы 100 элементов к каждому процессу в группе Аргументы должны иметь идентичные значения на всех процессах, и соппп должна представлять ту же самую )п1га-Егопр область связи. Посылаюшийся буфер игнорируется для всех процессов, не принадлежащих корню. 6.7.1.

Пример использовании ППРт ЗСЗПттнн Пример 6.11. Прием данных, как в примере 6.2. ИР1.Ясассег передает 100 элементов из корня каждому процессу в группе (рис. 6.7). МР1 Соппп соппп; 1пс Езбзе,»зепбЬпт; тпс гоос, гЬпт [100]; МР1 Соппп з1зе(соппп, лбзтхе); зепбЬпХ = (1пс »)иа11ос(бзтзе»100»збзеот(1пс)); ИР1 Ясаппег(зепбЬпт, 100, МР1 1МТ, гЬпХ, 100, МР1 1МТ, гооч, соаш); 6.7,2, Разброс данных (векторный вариант) ИР1 ЯСАТТЕВЧ(зепбЬи1, зепбсоипсз, бпзр1з, зепбсуре, гесчЬпХ, гесчсоцлг,, гесчпуре, гоос, соппп) апрес передаваемого буфера массив, солеркаший количество передаваемых элементов кажному процессу 112 б, Коллективные взаимооеясиявия 1М бйзр1з целочисленный нассив смешений пакетов относительно лруг лруга тип передаваемых данных апрес буфера приема количество принимаемых элементов тип принимаемых данных ранг перепавшего процесса коммуникатор (сошшппйсасог) 1М зепбпуре СОТ гесчЬцт' 1М гесисоцпс 1М гесипуре 1М гоос 1М сошш йпп МР1 Бсатгеги(чо1с)в вепбЬцт, 1пг взепбсоцптз, Тпт вбйзр1з, МР1 Оасапуре зепбсуре, ио1бв гесчЬцт", йпп гесисоцпп, МР1 Оасасуре гесчсуре, 1пс гоос, МР1 Соуп сошш) МР1 БСАТТЕВЧ(БЕМРВОР, БЕМОСООМТБ, 01БРЬБ, БЕМОТУРЕ, ВЕСЧВОГ, ВЕСЧСООМТ, ВЕСЧТУРЕ, ВОСТ, СОИМ, 1ЕВВОВ) <пуре) БЕМОВВГ(е), ВЕСЧВОР(в) 1МТЕСЕВ БЕМОСОВМТБ(в),01БРЕБ(*),БЕМОТЧРЕ,ВЕСЧСООМТ,ВЕСЧТЧРЕ,ВООТ,СОММ,ТЕВВОВ 6.7.3.

Примеры использования Зявт ВСдттамЧ Пример 6.12. Обратный примеру 0.5. Корневой процесс разбрасывает по 100 элементов к другим процессам, но наборы по 100 элементов расположены в буфере посылок с неко- торым шагом зсгйбе друг от друга, где шаг зсгйое > 100. Это требует использования МР1 БСАТТЕВЧ (рис. 6.8). МР1 Сошш сапяп; Апт язйхе,взепбЬп1; 1пс гост, гЬц1[1003, 1, *бйзр1з, *зсоцппз; МР1 Сова зйзе(сошш, ййзяхе); зепбЬцХ = (упс в) ша11ос(Ез1хевзсгИеезйгеот (йпъ) ); МР1 БСАТТЕВЧ вЂ” обратная операция к МР1 0АТНЕВЧ, МР1.БСАТТЕВЧ расширяет функцио. нальные возможности МР1БСАТТЕВ, позволяя посылать каждому процессу изменяющееся количество данных, так как зепбсоцпсз — теперь массив.

Она также допускает большее возможностей относительно того, где данные приняты из корня, обеспечивая новый аргумент бйзр1з. Результат выглядит так, как будто корень выполнил и посылающих оцерапи$ МР1Бепс)(зепбЬцХ+оузр1з[13вехсепс(зепосуре), зепбсоцпсз[я1, зепосуре,й,...), я=0 до п-1, и каждый процесс выполнил функцию приема МР1Яесч(гесчЬц1, гесисоппг, геситуре, гоос,...). Аргументы зепбсоппс[13 и зепбсуре в корне должны быть равны аргументаи гесисоцпъ и гесчсуре в процессе 1.

Это подразумевает, что количество посланных данных должно быть равно количеству полученных, попарно между каждым процессом и корнем. Различные отображения типа между передающим и принимающим процессами все еще допускаются. Все аргументы в функции значимы на корневом процессе, в то время как на других процессах значимы только аргументы гесиЬц1, гесисоцпь, гесчъуре, гооп, сошш. Аргументы должны иметь идентичные значения на всех процессах, и сопвп должна представлять ту ие самую ш~га-Егоцр область связи. Посылаюшийся буфер игнорируется для всех процессов, не принадлежащих корню. Спецификация количества, типов и смещений на корне не должна читаться больше, чеи один раз. б, У.

Раэброс данных адзр1з = (дпс »)ва11ос(бедна»здвеоУ(дпс)), эсоппсв = (дпс »)ва11ос(издне»вднеоХ(дпс)), 1ог(д = О, д~бздне, ++д) ( йдзр1з[д] = д»зсгдде, зсопппз[д] = 100, ИР1 Ясаппегч(зепбЬпУ, зсоиппз, с(дзр1в, ИР1 1ИТ, гппУ, 100, МР1 1ИТ, гоос, соппп). Все процессы Процесс корня вдгдоо рмс. 6.6. Марлевой процесс рээбрасывает по 100 элементов, смещенных друг от друга с некоторым шагом э аггее ) 100 (в терминах элементов) Пример 6.13. Обратный примеру 6.9. Передаваемые блоки в буфере корня расположены с иэменяющимся шагом между блоками, получающая сторона принимает 100-д элементов и д-ю колонку массива 100»150 в процессе д (рис, 6.9).

ИР1 Соппп савв, дпс Издве, гесчаггау [100] [150], »грсг, дпп гооп, »зевс)ЬпУ, шугапЫ, ЬпХздке, »зпгдс)е, ИР1 Оэпасуре гсуре, дпп д, »с(дзр1з, »зсоцппз, оХХзес, ИРХ„Савв здне(савв, йбздне), ИР1 Савв гапк(сошш, ешугап)с), эсгдое "- (дпс »)ша11ос(нздне»здвеоХ(дпс)), /» зггдбе[д] для д=О до нздие-1 установлены */ йэр1з = (дпс »)ва11ос(ледке»вднеоХ(дпп)), эсоип$з = (дпс »)ва11ос(ввдхе»здхеоХ(дпс)), о11зес = О, 1ог(д = О, д < нздве, ++д) ( с)двр1з[д] = оУХвес, оуузес += зсгдбе[д], зсоппсз[д] = 100-д, /* Создание типа ланных пля прининашшей колонки */ ИР1„Туре чессог(100-шугапК, 1, 150, МР1 1ИТ, егсуре), ИР1 Туре совшдс(»сгсуре), грсд = Фгесчаггау[0][шугап1с], ИР1 ясассегч(зепйЬпХ, зсоппсз, с)дзр1з, МР1 1ИТ, грсг, 1, гсуре, гоос, савв), б.

Ноллеипзивиые взаимодействия 114 190 150 190 Все процессы 100 100 99 90 Процесс корив »Сгкбв 111 Рис. 6.9. Корень разбрасывает блоки ио 100-1 элементов в колонки 1 массива 100»150. В корне блоки расположены и буфере с шагом псгзбе [13 элементов 6,8. Сбор данных у всех процессов 1пт МР1 А118аСЬег(чо1б» зеибЬи1, 1пи зепбсоипи, МР1 ОапаСуре зепбпуре, чотб» гесчЬиХ, 1пс гесчсоипс, НР1 Оасасуре гесчсуре, МР1 Соппп сошш) МР1 А1ЕОАТНЕВ(БЕМРВУР, БЕМОСОУМТ, БЕМОТУРЕ, ВЕСЧВОГ, ВЕСЧСООМТ, ВЕСЧТУРЕ, СОНМ, 1ЕВВОВ) <суре> БЕМОВОР(»), ВЕСЧВОР(») 1МТЕСЕВ БЕМОСООМТ, БЕМОТУРЕ, ВЕСЧСОУМТ, ВЕСЧТУРЕ, СОИМ, 1ЕВВОВ МР1 Аь(.САТНЕВ аналогична операции МР1 ОАТНЕВ за исключением того, что все процессы получают результат от всех процессов, а не только от одного корня.

)'-й блок данных, посланных из каждого процесса, получен каждым процессом и размещается в )-м блоке буфера гесчЬШ. Аргументы зепбсоипс и зепбсуре в процессе должны быть равны во всех процессах. Результат запроса к МР1 А(Д.САТНЕВ(... ) выглядит так, как будто все процессы выполнили и запросов к НР1 САТНЕВ(зепбЬ01, зепбсоипс, зепбсуре, гесчЬи1, гесчсоипс, гесчсуре, гоос, сошш) для гоос=0, ,и-1. Правила для использования ХР1 АЬ1САТНЕВ аналогичны соответствующим правилам для МР1 ОАТНЕВ.

6.8.1, Пример использования мйт.дьгллвтниа Пример 6.14. Версия примера 6.2. Используется МР1 АЬ10АТНЕВ, принимается по 100 элементов из каждого процесса в группе в каждом процессе. МР1 Сошш соппп; 1пс 801хе, зепбаггау(1003; 1пс »гЬи1; МР1 Сова итие(сошш, йбзтхе); гЬит = (1пс »)ша11ос(801ке»100»з1ие01(1пс)); МР1 А118аСЬег(зепбаггау, 100, МР1 1МТ, гЬиХ, 100, МР1 1МТ, сошш); После запроса каждый процесс имеет конкатенацию наборов данных в количестве размера группы. ИР1 АЬЬОАТНЕВ(зепбЬ01 1М зепбЬиХ 1М зепбсоипс 1М зепбсуре ООТ гесчЬиТ 1М гесчсоипс 1М гесчсуре 1М соппп зепбсоипъ,зепбсуре,гесчЬи1,гесчсоипс,гесчсуре,сошш) здрес перелаваемого буфера количество передаваемых элементов . тип передаваемых панных адрес буфера приема количество принимаемых элеиентов от процессов тип принимаемых данных коммуникатор (сошшип1сасог) 6.9.

Разброс/сбор — все ко всем 6.8.2. Сбор данных у всех процессов (векторный вариант) АР! АЬЬОАТНЕКЧ(яепбЬиХ, яепс)соипс, яепс)суре, гесчЬи1, гесчсоипся, с)тяр1я, гесчсуре, сошш) 18 яепс(Ьи1 !й яепс!соипс !М пепе(суре ОПТ гесчЬиХ 1И гесчсоипся адрес передаваемого буфера количество передаваемых элементов тип передаваеиых панных адрес буфера приема массив, указывавший количество принимаемых элеиентов от процессов целочисленный массив смешений пакетов данных друг относительно друга тип принимаемых панных коммуникатор (сошшиптсаСог) 1й с(тяр1я 1М гесчсуре 18 синяя 1пс МР1 А11пасЬегч(чозс!» яепйЬиХ, зпс яепс(соипс, МР1 Оасасуре яепс)Суре, чозс!» гесчЬи1, тпс »гесчсоипся, гпс »с!1яр1я, МР1 Оасасуре гесчсуре, ИР1 Совая сошш) ИР1 АЬЬОАТНЕКЧ(ЯЕМОВОГ, ЯЕМОСОУМТ, ЯЕМОТУРЕ, КЕСЧВОР, КЕСЧСОУМТЯ, ОТЯРЬЯ, КЕСЧТЧРЕ, СОНМ, 1ЕККОК) <суре> ЯЕМОВОР(»), КЕСЧВУГ(») !МТЕОЕК ЯЕМОСОУМТ, ЯЕМОТУРЕ, КЕСЧСОУМТБ(»), 01ЯРЬЯ(»), КЕСЧТУРЕ, СОИМ, 1ЕКЮК 6.9.

Разброс/сбор — все ко всем МР1 АььтОАьь(яепс!ьит,яепс(соипс,яепс)суре,гесчьит,гесчсоипс,гесчсуре,сошш) 1М яепбЪиХ апрес передаваемого буфера 1М яепс)соипс количество перепаваемых элементов к кажному процессу 1М яепс(суре тип передаваемых панных ООТ гесчЬиу адрес буфера приема 1И гесчсоипс количество принимаемых элементов от каждого процесса 18 гесчсуре тип принимаемых данных 1М сонин коммуникатор (сопаиптсасог) 1пс мр1 А11соа11(чотс!» яепс!ьи, 1пс яепс)соипс, МР1 Оасасуре яепс)суре, чогс(» гесчЬиХ, тпс гесчсоипс, ИР1 Расасуре гесчсуре, ИР1 Сонин сонин) МР1 АЬЬТОАЬЬ(ЯЕМОВОГ, ЯЕМОСООМТ, ЯЕМОТУРЕ, КЕСЧВОГ, КЕСЧСОУМТ,КЕСЧТУРЕ, СОММ, 1ЕКЮК) <суре> ЯЕМОВОР(»), КЕСЧВУР(») 1МТЕОЕК ЯЕМОСООМТ, ЯЕМОТУРЕ, КЕСЧСООМТ, КЕСЧТУРЕ, СОНМ, 1ЕКЮК ИР1 АЬЬСАТНЕКЧ аналогична МР1 ОАТНЕКЧ за исключением того, что все процессы получают результат, вместо только одного корня.

Характеристики

Тип файла
DJVU-файл
Размер
5,85 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее