Методические рекомендации по выполнению: Весь материал, необходимый для выполнения практикума, содержится в лекционном курсе и методических пособиях [1,2]. Полезная дополнительная информация может быт

СОДЕРЖАНИЕ: Приобретение навыков разработки и отладки параллельных программ типовых вычислительных алгоритмов в модели OpenMP, dvm и гибридной модели OpenMP/dvm

Лабораторный практикум

Модели параллельных вычислений. 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 существующей программы на языке Фортран без изменения последовательной программы.

· Оценить производительность параллельной программы при разном количестве процессоров.

· Определить оптимальную решетку виртуальных процессоров для 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 процессов

+

“+”- отмечены ячейки таблицы, которые необходимо заполнить (всевозможные комбинации числа процессоров и нитей).

· Выводы по полученным результатам (объяснение убывания или возрастания производительности параллельной программы при варьировании виртуальной решетки процессоров и количества нитей).

Литература

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

Скачать архив с текстом документа