| Лабораторный практикум
"Модели параллельных вычислений. OpenMP и
DVM‑технологии разработки параллельных программ"
Общее описание лабораторного практикума
Цели и задачи практикума:
Приобретение навыков разработки и отладки параллельных программ типовых вычислительных алгоритмов в модели OpenMP, DVM и гибридной модели OpenMP/DVM.
Необходимое оборудование и ПО:
Вычислительный кластер regatta.cmc.msu.ru, система DVM.
Необходимый уровень подготовки:
Для успешного выполнения практикума предполагается наличие следующих знаний:
· Знание языков программирования Си и Фортран,
· Предварительное ознакомление с методикой разработки и отладки программ в системе DVM [1,2].
Методические рекомендации по выполнению:
Весь материал, необходимый для выполнения практикума, содержится в лекционном курсе и методических пособиях [1,2]. Полезная дополнительная информация может быть найдена в материалах [3,4,5].
Каждому участнику семинара предоставляется следующая последовательная программа SOR (последовательная верхняя релаксация):

Распараллеливание осуществляется с помощью анализа последовательной программы, аналогично анализу распараллеливающего компилятора. Поэтому не предполагается знания указанного алгоритма. Т.к. фрагмент параллельной программы этого алгоритма дан в описании языка Fortran-DVM, то предполагается быстрое написание параллельных программ.
Практическое задание 1
. Распараллеливание итерационных алгоритмов в модели OpenMP
Цель:
· Получить навыки распараллеливания в модели OpenMP существующей программы на языке Фортран.
· Оценить производительность параллельной программы на разном количестве процессоров (при использовании разного количества нитей).
Планируемый результат:
· Параллельная программа (в качестве параллельного алгоритма предлагается использовать один из двух рассмотренных на лекции алгоритмов или придумать свой).
· Результаты выполнения экспериментов по оценке производительности (таблицы и графики времени выполнения, ускорения и эффективности – на 1, 2, 4, 8 и 16 процессорах).
· Выводы по полученным результатам (объяснение убывания или возрастания производительности параллельной программы при увеличении числа нитей).
Практическое задание2
. Распараллеливание итерационных алгоритмов в модели DVM
Цель:
· Получить навыки распараллеливания в модели DVM существующей программы на языке Фортран без изменения последовательной программы.
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
· Оценить производительность параллельной программы при разном количестве процессоров.
· Определить оптимальную решетку виртуальных процессоров для 2, 4, 8 и 16 процессоров (получить максимальную производительность вариацией виртуальной решетки процессоров).
Главное внимание во втором задании практикума уделяется освоению функциональной отладки и отладки производительности.
Функциональная отладка
(отладка правильности параллельной программы) базируется на сравнении результатов последовательного и параллельного выполнения. Эти результаты должны совпадать с точностью 10-5
.
Отладка производительности.
Для оценки производительности параллельной программы необходимо оперировать характеристиками производительности выполнения DVM-программы, которые выдаются в файл статистики анализатором производительности.
При решении реальных задач, время выполнения инициализации и выдачи результатов пренебрежимо мало по сравнению с основным вычислительным циклом. Поэтому достаточно оперировать только характеристиками основного цикла. Для этого основной итерационный цикл необходимо описать интервалом оценки производительности (см.[1,2]).
· Параллельная программа.
· Результаты выполнения экспериментов по оценке производительности (таблицы и графики времени выполнения, ускорения и эффективности – на 1, 2, 4, 8 и 16 процессорах).
· Файлы статистики максимальной производительности на 1, 2, 4, 8 и 16 процессорах и виртуальная решетка процессоров, на которой достигнута эта производительность.
· Выводы по полученным результатам (объяснение убывания или возрастания производительности параллельной программы при варьировании виртуальной решетки процессоров).
Практическое задание3
. Распараллеливание итерационных алгоритмов в модели OpenMP/DVM
Цель:
· Получить навыки распараллеливания в модели OpenMP/DVM существующей программы на языке Фортран.
· Оценить производительность параллельной программы при разном количестве процессоров.
· Получить максимальную производительность вариацией виртуальной решетки процессоров и количества нитей.
Планируемый результат:
· Параллельная программа.
· Результаты выполнения экспериментов по оценке производительности. Таблица вида:
| |
1 нить
|
2 нити
|
4 нити
|
8 нитей
|
16 нитей
|
| 1 процесс
|
+
|
+
|
+
|
+
|
+
|
| 2 процесса
|
+
|
+
|
+
|
+
|
|
| 4 процесса
|
+
|
+
|
+
|
|
|
| 8 процессов
|
+
|
+
|
|
|
|
| 16 процессов
|
+
|
|
|
|
|
“+”- отмечены ячейки таблицы, которые необходимо заполнить (всевозможные комбинации числа процессоров и нитей).
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
· Выводы по полученным результатам (объяснение убывания или возрастания производительности параллельной программы при варьировании виртуальной решетки процессоров и количества нитей).
Литература
1. Параллельное программирование на языке FORTRAN-DVM. Методическое пособие по практикуму для студентов 2-4 курсов. МГУ им. М.В.Ломоносова. Факультет ВMиК. Москва, 2002 г. ftp://ftp.keldysh.ru/K_student/OpenMp/method_FDVM_2007_ver2.doc
2. Параллельное программирование на языке C-DVM. Методическое пособие по практикуму для студентов 2-4 курсов. МГУ им. М.В.Ломоносова. Факультет ВMиК. Москва, 2002 г.
3. Дж. Ортега. Введение в параллельные и векторные методы решения линейных систем. Москва, «Мир», 1991.
4. Описание языка FORTRAN-DVM. http://www.keldysh.ru/dvm
5. Описание языка C-DVM. http://www.keldysh.ru/dvm
|