Itogovoe_zadanie (MPI)
Описание файла
Файл "Itogovoe_zadanie" внутри архива находится в папке "MPI". Документ из архива "MPI", который расположен в категории "". Всё это находится в предмете "параллельное программирование для высокопроизводительных вычислительных систем" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Itogovoe_zadanie"
Текст из документа "Itogovoe_zadanie"
Задание .
Численное решение задачи Дирихле.
Метод SOR.
Разработка параллельной MPI+OpenMP программы и исследование ее эффективности.
Постановка задачи.
Разработать параллельную программу с использованием технологии MPI, реализующую решение задачи Дирихле методом SOR. Провести исследование эффективности разработанной программы на системе Blue Gene/P.
Провести визуализацию полученного решения. Для этого требуется организовать в параллельной программе вывод решения в файл, формат которого будет соответствовать используемой системе визуализации.
Описание метода SOR представлено в материалах лекций.
Параметры, передаваемые в командной строке
Первый параметр: m – число точек по одному измерению для задания двумерной сетки. По умолчанию – 512.
Второй параметр – точность. По умолчанию – 0.01.
Цель.
Получить навыки разработки и исследования параллельных программ с использованием технологии MPI+OpenMP.
Требуется.
-
Разработать параллельную программу с использованием технологии MPI и гибридной MPI+OpenMP.
-
Исследовать время выполнения разработанной программы в зависимости от задаваемой точности, размера сетки и количества используемых процессов.
-
Для заданных значений точности метода (0.01, 0.001) Построить таблицу:
Для вычислительной системы Blue Gene/P :
Размер сетки | Точность | Параллельный алгоритм | |||||||||||||||
32 процессора | 64 процессора | 128 процессоров | 256 процессоров | 512 процессоров станд. мэппинг | 512 процессоров Произв. мэппинг | ||||||||||||
Время | Ускорение | Число итераций | Время | Ускорение | Число итераций | Время | Ускорение | Число итераций | Время | Ускорение | Число итераций | ||||||
512x512 | |||||||||||||||||
1024x 1024 |
Для 512 процессоров рассмотреть два варианта мэппинга – стандартный, принятый по умолчанию и произвольный. Для произвольного мэппинга предусмотреть генерацию строк файла для задания случайного значения XYZT (см. материалы лекций).
Графическую иллюстрацию полученного решения - линии уровня функции u(i,j) провести, используя систему визуализации по собственному выбору.
Ускорение (speedup), получаемое при использовании параллельного алгоритма для p процессоров, определяется величиной:
Speedup(n) = T1(n)/Tp(n),
где T1(n)- время выполнения задачи на одном процессоре.
Tp(n)- время параллельного выполнения задачи при использовании p процессоров.
-
Построить графики – для каждого из заданных значений точности (0.01, 0.001) зависимость ускорения от количества процессоров для разных размеров сетки (512x512, 1024x1024).
-
Подготовить отчет о выполнении задания, включающий таблицы c временами, графики, визуализацию полученного решения (линии уровня решения), текст программы. Сделать выводы по полученным результатам (объяснить убывание или возрастание производительности параллельной программы при увеличении числа используемых процессоров, сравнить поведение параллельной программы в зависимости от размера сетки).