Главная » Просмотр файлов » ПОД (пособие)

ПОД (пособие) (1184372), страница 51

Файл №1184372 ПОД (пособие) (ПОД (пособие) - Ельцин) 51 страницаПОД (пособие) (1184372) страница 512020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

При входе впараллельную область приватные копии этих данных инициализируются оригинальнымизначениями.4. Runtime-процедуры и переменные средыВ целях создания переносимой среды запуска параллельных программ, в OpenMPопределен ряд переменных среды, контролирующих поведение приложения.В OpenMP предусмотрен также набор библиотечных процедур, которые позволяют:во время исполнения контролировать и запрашивать различные параметры, определяющиеповедение приложения (такие как число нитей и процессоров, возможность вложенногопараллелизма); процедуры назначения параметров имеют приоритет над соотвествующимипеременными среды.использовать синхронизацию на базе замков (locks).Язык Фортран-DVM.1.2. DVM–подход к разработке параллельных программDVM-система предоставляет единый комплекс средств для разработки параллельныхпрограмм научно-технических расчетов на языках Си и Фортран 77.Модель параллелизма DVM. Модель параллелизма DVM базируется на моделипараллелизма по данным.

Аббревиатура DVM отражает два названия модели:распределенная виртуальная память (Distributed Virtual Memory) и распределеннаявиртуальная машина (Distributed Virtual Mashine). Эти два названия указывают наадаптацию модели DVM как для систем с общей памятью, так и для систем сраспределенной памятью. Высокоуровневая модель DVM позволяет не только снизитьтрудоемкость разработки параллельных программ, но и определяет единуюформализованную базу для систем поддержки выполнения, отладки, оценки и прогнозапроизводительности.Языки и компиляторы. В отличие от стандарта HPF в системе DVM не ставилась задачаполной автоматизации распараллеливания вычислений и синхронизации работы с общимиданными.

С помощью высокоуровневых спецификаций программист полностью управляетэффективностью выполнения параллельной программы. С другой стороны, припроектировании и развитии языка Fortran DVM отслеживалась совместимость сподмножеством стандартов HPF1 и HPF2.Единая модель параллелизма встроена в языки Си и Фортран 77 на базе конструкций,которые “невидимы” для стандартных компиляторов, что позволяет иметь один экземплярпрограммы для последовательного и параллельного выполнения. Компиляторы с языков CDVM и Fortran DVM переводят DVM-программу в программу на соответствующем языке(Си или Фортран 77) с вызовами функций системы поддержки параллельного выполнения.Поэтому единственным требованием к параллельной системе является наличиекомпиляторов с языков Си и Фортран 77.169Технология выполнения и отладки.

Единая модель параллелизма позволяет иметь для двухязыков единую систему поддержки выполнения и, как следствие, единую систему отладки,анализа и прогноза производительности. Выполнение и отладка DVM-программ можетосуществляться в следующих режимах:Последовательное выполнение и отладка средствами стандартных компиляторов с языковСи и Фортран 77.Псевдо-параллельное выполнение на рабочей станции (среда WINDOWS и UNIX).Параллельное выполнение на параллельной ЭВМ.При псевдо-параллельном и параллельном выполнении возможны следующие режимыотладки:автоматическая проверка правильности директив параллелизма;трассировка и сравнение результатов параллельного и последовательного выполнения;накопление и визуализация трассировки данных;накопление данных о производительности и прогноз производительности параллельноговыполнения.2.

Обзор языка2.1. Модель программирования и модель параллелизмаЯзык Fortran DVM (FDVM) представляет собой язык Фортран 77 [5], расширенныйспецификациями параллелизма. Эти спецификации оформлены в виде специальныхкомментариев, которые называются директивами. Директивы FDVM можно условноразделить на три подмножества:Распределение данных (разделы 2, 3, 4, 8, 9)Распределение вычислений (разделы 5, 7)Спецификация удаленных данных (раздел 6)Модель параллелизма FDVM базируется на специальной форме параллелизма по данным:одна программа – множество потоков данных (ОПМД).

В этой модели одна и та жепрограмма выполняется на каждом процессоре, но каждый процессор выполняет своеподмножество операторов в соответствии с распределением данных.В модели FDVM пользователь вначале определяет многомерный массив виртуальныхпроцессоров, на секции которого будут распределяться данные и вычисления. При этомсекция может варьироваться от полного массива процессоров до отдельного процессора.На следующем этапе определяются массивы, которые должны быть распределены междупроцессорами (распределенные данные). Эти массивы специфицируются директивамиотображения данных (раздел 4). Остальные переменные (распределяемые по умолчанию)отображаются по одному экземпляру на каждый процессор (размноженные данные).Размноженная переменная должна иметь одно и то же значение на каждом процессоре заисключением переменных в параллельных конструкциях (см.

раздел 5.1.3, 5.1.4 и 7.5).Модель FDVM определяет два уровня параллелизма:параллелизм по данным на секции массива процессоров;параллелизм задач – независимые вычисления на секциях массива процессоров.Параллелизм по данным реализуется распределением витков тесно-гнездового цикла междупроцессорами (раздел 5). При этом каждый виток такого параллельного цикла полностьювыполняется на одном процессоре. Операторы вне параллельного цикла выполняются поправилу собственных вычислений (раздел 5.2).170Параллелизм задач реализуется распределением данных и независимых вычислений насекции массива процессоров (раздел 7).При вычислении значения собственной переменной процессору могут потребоваться какзначения собственных переменных, так и значения несобственных (удаленных)переменных.

Все удаленные переменные должны быть указаны в директивах доступа кудаленным данным (раздел 6).Язык Sisal.Цели создания языка SISAL:создание универсального функционального языка;разработка техники оптимизации для высокоэффективных параллельных программ;достижение эффективности исполнения, сравнимой с императивными языками типа Fortranи C;внедрение функционального стиля программирования для больших научных программ.Название языка расшифровывется как "Streams and Iterations in a Single AssignmentLanguage", сам он представляет собой дальнейшее развития языка VAL, известного всередине 70-х годов. Среди целей разработки языка SISAL следует отметить наиболеехарактерные, связанные с функциональным стилем программирования:Эти цели содателей языка SISAL подтверждают, что функциональные языки способствуютразработке корректных параллельных программ.

Одна из причин заключается в том, чтофункциональные программы свободны от побочних эффектов и ошибок, зависящих отреального времени. Это существенно снижает сложность отладки. Результаты переносимына разные архитектуры, операционные системы или инструментальное окружение. Вотличие от императивных языков, функциональные языки уменьшают нагрузку накодирование, в них проще анализировать информационные потоки и схемы управления.Легко создать функциональную программу, которая является безусловно параллельной,если ее можно писать, освободившись от большинства сложностей параллельногопрограммирования, связанных с выражением частичных отношений порядка междуотдельными операциями уровня аппаратуры. Пользователь Sisal-а получает возможностьсконцентрироваться на конструировании алгоритмов и раз работке программ в терминахкрупноблочных и регулярно организованных построений, опираясь на естественныйпараллелизм уровня постановки задачи.Начнем с примера программы:1.

Вычисление числа π (пи).For% инициирование циклаApprox := 1.0;Sign := 1.0;Denom := 1.0;i := 1while i <= Cycles do % предусловие завершения циклаSign := -Sign;% однократныеDenom := Denom + 2.0;% присваиванияApprox := Approx + Sign / Denom;% образуютi := i + 1% тело цикла171returns Approx * 4.0% выбор и вычисление результата циклаend for2. Это выражение также вычисляет число π (пи).for i in [1..Cycles/2] do% пространство параллельно% исполнимых итерацийval := 1.0/real(4*i-3) — 1.0/real(4*i-1);% тело цикла, для каждого i% исполняемое независимоreturns sum( val ) % выбор и свертка результатов% всех итераций циклаend for * 4.0 % вычисление результата% выраженияЭто выражение вычисляет сумму всех вычисленных значений val и умножает результат на4.0.3, 4.

В for-выражениях операции dot и cross могут порождать пары индексов приформировании пространства итерирования:for i in [1..2] dot j in [3..4] do% для пар индексов [1,3] и% [2,4]returns product (i+j)% произведение суммend for % = 24for i in [1..2] cross j in [3..4] do% для пар [1,3], [1,4], [2,3]% и [2,4]returns product (i+j)% произведение суммend for % = 6005. Итеративное for-выражение с обменом данными между итерациями:forI := 1while I < S doK := I;I := old I + 2;% значение из предыдущей итерацииJ := K + I;returns product(I+J)end forКак это свойственно языкам фукнционального программирования, Sisal языкматематически правильный — функции отображают аргументы в результаты без побочныхэффектов, и программа строится как выражение, вырабатывающее значение.

Наиболее172интересна форма параллельного цикла. Она включает в себя три части: генераторпространства итераций, тело цикла и формирователь возвращаемых значений.SISAL-программа представляет собой набор функций, допускающих частичноеприменение, т.е. вычисление при неполном наборе аргументов. В таком случае поисходному определению функции строятся его проекции, зависящие от остальныхаргументов, что позволяет оперативно использовать эффекты смешанных вычислений иопределять специальные оптимизации программ, связанные с разнообразием используемыхконструкций и реализационных вариантов параллельных вычислений.function Sum (N); % Сумма квадратов result (+ ( sqw (1 ..

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

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

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

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