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

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

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

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

Следующие функции возвращают информацию относителыю типов данных: ИР1 ТУРЕ ЕХТЕМТ(басасуре, ехсепс) 1М баСаСуре тип данных ООТ ехсепс диапазон типа басасуре кпс МР1 туре ехсепс(иР1 Оасасуре басасуре, иР1 Аапс ьехсепс) ИР1 ТУРЕ ЕХТЕМТ(ОАТАТУРЕ, ЕХТЕМТ, 1Еййбй) 1МТЕОЕЕ РАТАТУРЕ, ЕХТЕМТ, 1ЕйЮй ИР1 ТУРЕ ЕХТЕМТ возвращает диапазон типа басасуре. В дополнение к его исполыо. ванию с производным басасурев она может использоваться, чтобы найти диапазон примитивного дасасуреэ. Например, ИР1 ТУРЕ ЕХТЕМТ(ИР1 1МТ,ехсепс) возвратит в ехсеак размер в байтах, кпс — то же самое значение, которое было бы возвращено в С функцпе$ ваиеоХ(апс). Замечание.

Имена типов данных в МР1 — непрозрачные, поэтому нужно использовать функцию ИР1 ТУРЕ ЕХТЕМТ, чтобы определить размер ("зьзе") типа. Нельзя использовать, 7.8. Строители типов 135 как в С, функцию вкиео1йасасуре), например, вйиеот(МР1 000ВЕЕ). Она возвратит размер непрозрачного заголовка, который является размером указателя и, конечно же, отличается от значения вйкео1(боцЫе). ИР1 ТУРЕ Я1ЕЕИасаСуре, вйхе) 1М дасасуре тип данных 00Т в1хе размер типа данных 1пс ИР1 туре в1хе(мР1 Расасуре басасуре, Апс ев1хе) МР1 ТУРЕ Я1ЕЕ(РАТАТУРЕ, Я12Е, 1ЕКВОК) 1МТЕОЕВ РАТАТУРЕ, Я1ЕЕ, 1ЕКВОК МР1 ТУРЕ Я1ЕЕ возвращает полный размер (в байтах) входов в сигнатуре типа, связанной с т)асасуре; т. е.

полный размер данных в сообщении, которое было бы создано с этим йасасуре. Элементы, которые многократно встречаются в басасуре, учитываются с их кратностью. Лля примитивного басасурев эта функция возвращает ту же самую информацию как МР1 ТУРЕ ЕХТЕМТ. Пример 7.3. Лопустим басасуре имеет тип отображения Туре, определенный в примере 7.2. Тогда запрос к МР1 ТУРЕ ЕХТЕМТИасасуре,й) возвратит 1=1б; запрос к МР1 ТУРЕ Я12ЕЙаСасуре, 1) возвратит 1=9 (8 байт (боцЫе) + 1 байт (сваг)=9). 7.3. Строители типов В этом пункте представлены функции МР1 для строительства производных типов данных. Функции представлены в порядке от самых простых строителей до сложных.

7.3.1. Строитель смежных типов данных СЮИТ?ОООттн ИР1 ТУРЕ СОМТ10000Я(соипС, о1бСуре, пеиСуре) 1М соцпс количество копий 1М о1бсуре старый тип данных 00Т пенсуре новый (сконструированный) тип данных (пс МР1 Туре сопс1Ецоцв(1пс соцпс, МР1 Расасуре о1йсуре, МР1 Расасуре епеысуре) ИР1 ТУРЕ СОМТ10000Я(СОРМТ, ОЮТУРЕ, МЕЫТУРЕ, 1ЕКВОН) 1МТЕСЕК СООМТ, 0(.РТУРЕ, МЕИТУРЕ, 1ЕВИЖ МР1 ТУРЕ СОМТ10000Я самый простой строитель типа данных. Он конструирует новый тип данных путем размножения соцпс копий исходного типа в смежные поля. Аргумент пеисуре — новый полученный тип, представляющий собой соипс смежных копий исходного типа о1бсуре.

При сочленении копий, используется ехсепс(о1бсуре) (диапазон исходного типа) как размер составных копий. Лействие СОМТ10000Я-строителя представлено схематично на рис. 7.3. отнптре сооап 4 пеептре Рис. 7.3. Построение типа данных функцией строителя типов ИР1 ТУРЕ СОМТ10000Я 136 7. Опрсдслясл>мс аальасвас>алел> с>ааы даииыс а упаковка дамка>с (>(боцЫе, 0) > (сЬаг, 8), (боцЫе, 16), (сЬаг, 24), (боцЫе, 32), (сЬаг, 40)), т.е. чередуются боцЫе и сЬаг элементы со смещениями О, 8, 16, 24, 32, 40. Вообще, допустим, что отображение типа о1бсуре = ((сурео, бтяра), ..., (сурен 1„бйярп 1)) с диа- пазоном ех.

Тогда пентуре имеет отображение типа из соппсеп элементов, определенных как ((сурео> бйяро) >, (суре„м ббяр„1), (суреш б1яро + ех), ..., (аурел 1, бтяр„г+ ех), ..., (сУРео, б1ЯРо + ех е (соила — 1)), ..., (сУРе„1, б1ЯРп г + ех * (соппс — 1))). 7.3.2. Векторный строитель типов данных ЧНСтои ЫосййепЕСЬ, ясгтбе, о1бсуре, пеытуре) количество конструируемых блоков количество элементов в каждом блоке расстояние межпу началами последовательных блоков, выраженное в количестве исходных элементов исхолный тип данных новый тип ланных МР1 ТУРЕ ЧЕСТОК(соцпс, 1М соцпс 1И Ыосй1епЕСЬ 1Х ясггбе 1И о1бсуре СОТ пенсуре 1пт МР1 Туре сеспог(1пс соцпс, 1пс Ыосй1епбсЬ, 1пс ясг1бе, МР1 Оасатуре о1бсуре, МР1 Оасасуре епенсуре) МР1 ТУРЕ ЧЕСТОК(СООМТ, В1ОСКЬЕИОТН, ЯТК10Е, 010ТУРЕ, МЕЧТУРЕ, 1ЕККОК) 1МТЕОЕК СООМТ, ВЬОСКЬЕИОТН, ЯТК10Е, 010ТУРЕ, МЕИТУРЕ, 1ЕККОК МР1 ТУРЕ ЧЕСТОК-строитель размножает копии исходного типа о1бсуре в поля, которые являются равно отстоящими друг от друга блоками.

Каждый блок получен из заданного количества (Ыос)г1епбсЬ) смежных копий исходного типа о1бсуре. Расстояние между блоками здесь задается, как расстояние между началами двух соседних блоков, и измеряетса в единицах о1бСуре диапазона и одинаково для всех рядом стоящих блоков. В отображении типы смещения блоков даются относительно базового адреса.

Например, смешение даа нулевого в последовательности блока равно Оеясгтбе, для пятого блока равно беясгабе а т.д. Действие ЧЕСТОК-строителя представлено схематично на рис. 7.4. о1йсуре со»се 3, Ьгоса1епяаа = 2, »асане 3 пе»суре Рис. 7.4. Построение типа данных функцией строителя типов ИР1 ТУРЕ ЧЕСТОК Пример 7.5. Как прежде, допустим, что о1бсуре имеет отображение типа 1(бопЫе, 0), (сЬаг, 8) ) с лиапазоном 16. Запрос к МР1 ТУРЕ ЧЕСТОК(2, 3, 4, о1бсуре, пенсуре) создаст новый тип данных не»суре с отображением: ((боцЫе, 0), (сЬаг,8), (бопЫе, 16), (сЬаг,24), (бопЫе,32), (сЬаг,40), (бопЫе, 64), (сЬаг,72), (боцЫе, 80), (сЬаг, 88), (бопЫе, Эб), (сЬаг, 104) 1, Пример 7.4.

Допустим, о1бсуре имеет отображение типа ((боцЫе, 0), (сЬаг,8) ) с диа- пазоном 16 и соцпсс3. Отображение типа бапасуре, возвращенного пеытуре есть 7.3. Строители типов 137 г. е. два блока с тремя копиями каждый из исходного типа, с расстояниями между началами гюследовательных блоков в четыре исходных (о16суре) элемента (4х16 байт = 64). Пример 7,6. Запрос к МР1 ТУРЕ ЧЕСТОН(3, 1,-2,о16Суре,пеиСуре) создаст тип данных с зтображением: ((попЫе, О), (сЬаг, 8), (НопЫе,-32), (сваг, -24), (бопЫе, -64), (сваг, -Бб) ) Вообше, допустим, что о14суре = ((сурео,бтзро), ..., (суреи 1,дтзри 1)) с диапазоном ех. Допустим, Ы есть Ыосй1еппсЬ.

Новый тин данных пеигуре имеет отображение с соппсхЫхп элементами Запрос к МР1 ТУРЕ СОМТ100008(соппс, о16Суре, пеисуре) эквивалентен запросу к МР1 ТУРЕ ЧЕСТОН(соппС, 1, 1, о16Суре, пенСуре) или запросу к МР1 ТУРЕ ЧЕСТОН (1, соппс, пни, о1г)суре, пенсуре) с произвольным пшп. 7.3.3. Модифинированный векторный строитель тинов данных нчестон Векторный строитель типа, описанный в». 7.3.2, задает расстояние между началами соседних блоков в едннипах о1г1суре диапазона. Иногда полезно ослабить это предположение и допускать расстояние, измеряемое в байтах.

Строитель типа Нчессог задает расстояния между началами соседних блоков в байтах. Использование Чессог- и Нчессог-строителей иллюстрируется в примерах 7.7 — 7.10. МР1 ТУРЕ НЧЕСТОН(соипС, 1М соппс 1М Ыос)г1епЕсЬ 1М зсгзбе Ыоск1епЕсЬ, зсгз4е, о1г)суре, пенсуре) количество конструируемых блоков количество элементов в каждон блоке расстояние между начапани соседних блоков, выраженное в байтах исходный тип данных новый тип данных 1М о1дсуре ОМТ пенсуре 1пс МР1 Туре Ьчессог(1пс соппс, 1пс Ыос)г1еппсЬ, МР1 Атис зсг1г1е, МР1 Оасасуре о16суре, МР1 Оасасуре хпеисуре) МР1 ТУРЕ НЧЕСТОН(СООМТ, ВЮСК1.ЕМОТН, БТН10Е, 01,0ТУРЕ, МЕНТУРЕ, 1ЕННОН) 1МТЕСЕН СООМТ, ВЮСК(.ЕМСТН, БТН10Е, ОЕОТУРЕ, МЕНТУРЕ, 1ЕНВОН МР1 ТУРЕ НЧЕСТОН идентичен МР1 ТУРЕ ЧЕСТОН за исключением того, что расстояние (вгг1г)е) дается в байтах.

(Н олипетворяет иЪеСегойепеоиз" системы.) Действие НчесСогстроителя представлено схематично на рис. 7.5. ((сурео бтзро) ..., (суре„1161зри 1), (сурео, пззро + ех), „(суре„м 61зри 1+ ех), ..., (сурео, бгзро + (ы — 1) х ех), ..., (суре„ы бтзри 1+ (ы — 1) х ех), сурео, г(эзро + зсгтбе х ех), ..., (суреи и Нтзри ~ + зсгтбе х ех), ..., (СУРЕО, 61ЗРО + (ЗСГтбЕ + Ы вЂ” 1) * ЕХ), ..., (СУРЕ„Ы 61ЗРи 1+ (ЗСГ16Е + Ы вЂ” 1) Х ЕХ), .„, (г урез, 61зро+зсг16е х (соппс — 1) хех), ..., (суре„м бт зри 1+зсг16е х (соппс — 1) хех), ..., (СурЕО, 41ЗРО + (ЗСГ16Е Х (СОППС вЂ” 1) + Ы вЂ” 1) * ЕХ), ..., (СурЕ„Ы пт Зри 1 + (ЗСГ16Е Х (соппс — 1) + Ы вЂ” 1) * ех)). 138 7.

Определяемые пользоватвлвм типы данных и упаковка данных о1асуре сопля 3, Ьтоси1епясь=2, ввгще87 певсуре Рис. 7.5. Построение типа данных функцией строителя типов ИР1 ТУРЕНЧЕСТОН Пример 7.7. Рассмотрим запрос к МР1 ТУРЕ НЧЕСТОН, используя те же самые аргументы как в запросе к МР1 ТУРЕ ЧЕСТОН в примере 7.5. Как прежде, допустим, что о1бсуре имеет отображение типа (ЙоцЫ, О), (спаг, 8) ) с диапазоном 16.

Запрос к МР1 ТУРЕ НЧЕСТОЕ(2,3,4,о1дсуре,пенсуре) создаст тип данных с отображением: 1 ИоцЫе, О), (спаг, 8), ИоцЫе, 16), (сваг,24), (доцЫе, 32), (сйаг, 40), ИоцЫе,4), (спаг, 12), (с1оцЫе,20), (спаг,28), (йоцЫе,36), (сваг,44) У Такое построение типа определяет накладываюшиеся элементы. Начала вещественных (с)оцЫе) не могут располагаться и в нуле смещения, и в смешении четыре. Использо.

ванне этого типа данных в посылающей функции приведет к ошибке, Лля построения того же отображения типа, как в примере 7.5, нужно использовать здесь (расстояние) всгнде=64(4в16). Вообще, допустим, что о1бсуре имеет отображение типа 1(сурео,бнвро), (сУРеп и дтвРп 1)) с диапазоном ех.

ДопУстим, Ы есть ЫосК1епЕсп. Новый тип данных имеет отображение типа с соцпсвЫвп элементами ((Сурео,с1квро), ...,(суре„м дквра я), (сурео, бквро+ ех), ..., (суре„м анара я+ ех), ..., (Сурее, дзвре+ (Ы вЂ” 1) * ех), ..., (Суре„ыйявр„1+ (Ы вЂ” 1) в ех), (сурео, дн про + всгкбе), ..., (суре„м дя ври я + всгкбе), ..., (гурео, озеро+ всгзбе+ (Ы вЂ” 1) в ех), ...,(суре„м бкврп я+ всгябе+ (Ы вЂ” 1) *ех), ..., (сурео, дтвро + всгзбе * (соцпс — 1)), ..., (сурен-и бнврп я + всгнбе * (соцпс — 1)), ..., (Суреа, днвре + вСгябе в (соцпп — 1) + (Ы вЂ” 1) * ех), ..., (Суре„ы сунврп 1+ вСгнбе в (социо — 1) + (Ы вЂ” 1) в ех)).

Пример 7.8. Посылка и получение секции 2Р (двумерного) массива. Расположение этой секции 21) массива (заштрихованные квадраты) показано на рис. 7.6. Рис. 7.6. Представление массива а в примере 7.8. Заштрихованные блоки посланы Первый запрос к МР1 ТУРЕ ЧЕСТОЕ определяет тип данных, который описывает одну колонку секции: 11Э секция массива, которая состоит нз трех чисел 11оас с расстоянием н два элемента друг от друга.

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

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

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

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