дз 2. 2-й и 3-й поток (Практикум)
Описание файла
Файл "дз 2. 2-й и 3-й поток" внутри архива находится в следующих папках: Практикум, 2016 Практикум (Дирихле, Пуассон). PDF-файл из архива "Практикум", который расположен в категории "". Всё это находится в предмете "суперкомпьютерное моделирование и технологии" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Задание по курсу «Суперкомпьютерноемоделирование и технологии»Октябрь 2016СодержаниеСодержание11 Введение12 Математическая постановка дифференциальной задачи13 Разностная схема решения задачи.24 Метод решения системы линейных алгебраических уравнений.35 Задание практикума.46 Требования к отчету6.1 IBM Blue Gene/P . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .6.2 «Ломоносов» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6777 Литература.81ВведениеТребуется методом конечных разностей приближенно решить задачу Дирихле дляуравнения Пуассона в прямоугольной области. Задание необходимо выполнить на следующих ПВС Московского университета:1. IBM Blue Gene/P,2.
«Ломоносов»2Математическая постановка дифференциальной задачиВ прямоугольной областиΠ = [1 , 2 ] × [1 , 2 ]требуется найти дважды гладкую функцию = (, ), удовлетворяющую дифференциальному уравнению−∆ = (, ),1 < < 2 , 1 < < 21(1)и дополнительному условию(, ) = (, )(2)во всех граничных точках (, ) прямоугольника.
Оператор Лапласа ∆ определен равенством: 2 2∆ =+2 2Функции (, ), (, ) считаются известными и определяются вариантом задания.3Разностная схема решения задачи.В расчетной области Π определяется прямоугольная сетка¯ ℎ = {( , ), = 0, 1, 2, . . . , 1 , = 0, 1, 2, .
. . , 2 },где 1 = 0 < 1 < 2 < . . . < 1 = 2 – разбиение отрезка [1 , 2 ] оси (),1 = 0 < 1 < 2 < . . . < 2 = 2 – разбиение отрезка [1 , 2 ] оси ().Через ℎ обозначим множество внутренних, а через ℎ — множество граничных узлов(1)(2)сетки ¯ ℎ . Пусть ℎ = +1 − , = 0, 1, 2, . . .
, 1 − 1, ℎ = +1 − , = 0, 1, 2, . . . , 2 − 1– переменный шаг сетки по оси абсцисс и ординат соответственно. Средние шаги сеткиопределяются равенствами:(︀ (2)(︀ (1)(2) )︀(1) )︀(2)(1)~ = 0.5 ℎ + ℎ−1 , ~ = 0.5 ℎ + ℎ−1 .Рассмотрим линейное пространство функций, заданных на сетке ℎ . Будем считать,что в пространстве задано скалярное произведение и евклидова норма(︀1 −1 2 −1∑︁)︀ ∑︁(1) (2), =~ ~ ,=1‖‖ =√︀(, ),(3)=1где = ( , ), = ( , ) – любые функции из пространства .Для аппроксимации уравнения Пуасона (1) воспользуемся пятиточечным разностнымоператором Лапласа, который во внутренних узлах сетки определяется равенством:(︃)︃(︃)︃+1 − 11 − −1 − −1 +1 − −+ (2)−.−∆ℎ = (1)(1)(1)(2)(2)~ℎ−1ℎ~ℎ−1ℎЗдесь предполагается, что функция = ( , ) определена во всех узлах сетки ¯ℎ.Приближенным решением задачи (1), (2) называется функция = ( , ), удовлетворяющая уравнениям−∆ℎ = ( , ), ( , ) ∈ ℎ ,(4) = ( , ), ( , ) ∈ ℎ .Эти соотношения представляют собой систему линейных алгебраических уравнений с числом уравнений равным числу неизвестных и определяют единственным образом неизвестные значения .
Совокупность уравнений (4) называется разностной схемой для задачи (1), (2).24Метод решения системы линейных алгебраическихуравнений.Приближенное решение системы уравнений (4) может быть получено итерационнымметодом скорейшего спуска. В этом методе начальное приближение(0)( , ) ∈ ℎ , = ( , ),(0)во внутренних узлах сетки – любые числа.
Метод является одношаговым. Итерация(+1) вычисляется по итерации () согласно равенствам:(+1) ()()= − +1 ,где невязка()() = −∆ℎ − ( , ),() = 0,( , ) ∈ ℎ ,( , ) ∈ ℎ .(5)Итерационный параметр+1(︀ () () )︀ ,)︀ .= (︀− ∆ℎ () , ()Известно, что с увеличением номера итерации последовательность сеточных функций() сходится к точному решению задачи (4) по норме пространства , то есть‖ − ‖ → +∞, → +∞.Cущественно большей скоростью сходимости обладает метод сопряженных градиентов.Начальное приближение (0) и первая итерация (1) вычисляются так же, как и в методескорейшего спуска. Последующие итерации осуществляются по формулам:(+1) ()()= − +1 , = 1, 2, . .
.Здесь(︀+1)︀() , ())︀ ,= (︀− ∆ℎ () , ()вектор()()(0)(0)(−1) = − , = 1, 2, . . . , = ,коэффициент(︀)︀− ∆ℎ () , (−1))︀ . = (︀− ∆ℎ (−1) , (−1)Вектор невязки () вычисляется согласно равенствам (5). Итерационный процесс останавливается, как только‖() − (−1) ‖ < ,(6)где – заранее выбранное положительное число. Заметим, что в последнем неравенствевместо евклидовой сеточной нормы можно использовать любую другую норму пространства , например, максимум-норму:⃒⃒‖‖ = max ⃒( , )⃒.(7)0<<10<<235Задание практикума.Предлагается следующий набор правых частей и граничных условий для дифференциальной задачи (1), (2):1. Правая часть и граничное условие (, ) =2 + 2,(1 + )2(, ) = ln(1 + ),соответственно, прямоугольник Π = [0, 3] × [0, 3].2.
Правая часть и граничное условие (, ) = (2 + 2 ) sin(),(, ) = 1 + sin(),соответственно, прямоугольник Π = [0, 2] × [0, 2].3. Правая часть и граничное условие (, ) = (2 + 2 ) sin(),(, ) = 1 + sin(),соответственно, прямоугольник Π = [−2, 2] × [−2, 2].4. Правая часть и граничное условие (, ) = 4(1 − 2( + )2 ) exp(1 − ( + )2 ),(, ) = exp(1 − ( + )2 ),соответственно, прямоугольник Π = [0, 2] × [0, 2].5. Правая часть и граничное условие (, ) = 4(1 − 2( + )2 ) exp(1 − ( + )2 ),(, ) = exp(1 − ( + )2 ),соответственно, прямоугольник Π = [−2, 2] × [−2, 2].6. Правая часть и граничное условие (, ) = 4(2 − 32 − 3 2 ),(, ) = (1 − 2 )2 + (1 − 2 )2 ,соответственно, прямоугольник Π = [0, 1] × [0, 1].7.
Правая часть и граничное условие (, ) = 4(2 − 32 − 3 2 ),(, ) = (1 − 2 )2 + (1 − 2 )2 ,соответственно, прямоугольник Π = [−1, 1] × [−1, 1].8. Правая часть и граничное условие (, ) = 2(2 + 2 )(1 − 22 2 ) exp(1 − 2 2 ),(, ) = exp(1 − 2 2 ),соответственно, прямоугольник Π = [0, 2] × [0, 2].9.
Правая часть и граничное условие (, ) = 2(2 + 2 )(1 − 22 2 ) exp(1 − 2 2 ),соответственно, прямоугольник Π = [−2, 2] × [−2, 2].4(, ) = exp(1 − 2 2 ),10. Правая часть и граничное условие (, ) =2 + 2,4(4 + )3/2(, ) =√︀4 + ,соответственно, прямоугольник Π = [0, 4] × [0, 4].11. Правая часть и граничное условие (, ) =8(1 − 2 − 2 ),(1 + 2 + 2 )3(, ) =2,1 + 2 + 2соответственно, прямоугольник Π = [0, 2] × [0, 2].12. Правая часть и граничное условие (, ) =8(1 − 2 − 2 ),(1 + 2 + 2 )3(, ) =2,1 + 2 + 2соответственно, прямоугольник Π = [−2, 2] × [−2, 2].Для аппроксимации дифференциальной задачи предлагается использовать равномерную прямоугольную сетку: = 2 (/1 ) + 1 (1 − /1 ), = 0, 1, 2, .
. . , 1 , = 2 (/2 ) + 1 (1 − /2 ), = 0, 1, 2, . . . , 2 ,(8)либо неравномерную сетку, определенную равенствами: = 2 (/1 ) + 1 (1 − (/1 )), = 0, 1, 2, . . . , 1 , = 2 (/2 ) + 1 (1 − (/2 )), = 0, 1, 2, . . . , 2 .(9)Здесь(1 + ) − 1, 0 6 6 1,2 − 1где > 0 – фиксированное число. Конкретный вид сетки определяется вариантом задания.Приближенное решение разностной схемы (4) следует вычислять методом сопряженных градиентов.
Для остановки итерационного процесса предлагается использовать условие (6), положив = 10−4 . Векторная норма может быть определена равенствами (3) либосоотношением (7) в зависимости от варианта задания.Для каждого из перечисленных выше наборов функций (, ), (, ) требуется– подобрать точное решение задачи Дирихле,– методом сопряженных градиентов построить приближенное решение на сетке с числомузлов 1 = 2 = 1000, определить погрешность решения () = = ‖( , ) − ‖,– методом сопряженных градиентов построить приближенное решение на сетке с числомузлов 1 = 2 = 2000 и вновь определить погрешность решения.Расчеты необходимо проводить на многопроцессорных вычислительных комплексахIBM Blue Gene/P и «Ломоносов», используя различное количество узлов сетки, указанное в требованиях к отчету.
Для каждого расчета определить его продолжительностьи ускорение по сравнению с аналогичным расчетом на одном вычислительном узле. Прираспараллеливании программы необходимо использовать двумерное разбиение области наподобласти прямоугольной формы, в каждой из которых отношение количества узловпо ширине и длине должно удовлетворять неравенствам 0.5 6 6 2.5Вариант12345678910111213141516171819202122232425262728293031323334353637386Таблица 1: Варианты заданий (, ), (, )Сетканабор 1равномернаянабор 1равномернаянабор 1неравномерная ( = 3/2)набор 1неравномерная ( = 3/2)набор 2равномернаянабор 2равномернаянабор 2неравномерная ( = 2/3)набор 2неравномерная ( = 2/3)набор 3равномернаянабор 3равномернаянабор 4равномернаянабор 4равномернаянабор 4неравномерная ( = 3/2)набор 4неравномерная ( = 3/2)набор 5равномернаянабор 5равномернаянабор 6равномернаянабор 6равномернаянабор 6неравномерная ( = 3/2)набор 6неравномерная ( = 3/2)набор 7равномернаянабор 7равномернаянабор 8равномернаянабор 8равномернаянабор 8неравномерная ( = 3/2)набор 8неравномерная ( = 3/2)набор 9равномернаянабор 9равномернаянабор 10равномернаянабор 10равномернаянабор 10неравномерная ( = 3/2)набор 10неравномерная ( = 3/2)набор 11равномернаянабор 11равномернаянабор 11неравномерная ( = 3/2)набор 11неравномерная ( = 3/2)набор 12равномернаянабор 12равномернаяНормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаевклидовамаксимум-нормаТребования к отчетуДля того, чтобы успешно сдать задание, необходимо∙ уверенно ориентироваться в программном коде;∙ понимать семантику всех используемых в коде функций MPI и директив OpenMP;∙ предоставить отчет с результатами исследования параллельных характеристик программы;6∙ предоставить программный код.Исследование параллельных характеристик MPI-программы необходимо провести навсех ПВС.
На ПВС Blue Gene/P также необходимо провести исследование параллельныххарактеристик гибридной программы MPI/OpenMP и сравнить полученные результаты спрограммой, не используещей директивы OpenMP.Отчет о выполнении задания должен содержать∙ математическую постановку задачи;∙ численные метод ее решения;∙ краткое описание проделанной работы по созданию гибридной реализации MPI/OpenMP;∙ результаты расчетов для разных размеров задач и на разном числе процессоров(заносятся в таблицу – см. ниже).∙ рисунок точного решения, а также приближенного решения, построенного на сетке2000 × 2000 узлов.6.1IBM Blue Gene/PРасчеты должны быть проведены для следующего числа процессоров: 128, 256 и 512.Количество узлов: 1000×1000 и 2000×2000 по осям абсцисс и ординат соответственно.
MPIверсию следует запускать в режиме SMP, гибридную версию MPI/OpenMP — в режимеSMP, но использовать при этом не четыре, а только три процессорных ядра.Таблица 2: Таблица с результатами расчетов на ПВС IBM Blue Gene/PЧисло процессоров Число точек сетки 3 Время решения Ускорение 1281000 × 10002561000 × 10005121000 × 10001282000 × 20002562000 × 20005122000 × 2000Заполняется два экземпляра таблицы: один – для MPI программы, другой – для гибридной MPI/OpenMP программы.6.2«Ломоносов»Расчеты должны быть проведены для следующего числа процессоров: 8, 16, 32, 64 и128 на сетках с числом узлов 1000 × 1000 и 2000 × 2000.Таблица 3: Таблица с результатами расчетов на ПВС «Ломоносов»Число процессоров Число точек сетки 3 Время решения Ускорение 81000 × 1000161000 × 1000321000 × 10001281000 × 100082000 × 2000162000 × 2000322000 × 20001282000 × 200077Литература.1.
А.Н. Тихонов, А.А. Самарский. Уравнения математической физики. М. Изд. "Наука". 1977.2. А.Н. Самарский, А.В. Гулин. Численные методы математической физики. М. Изд."Научный мир". 2003.3. Г.И. Марчук. Методы вычислительной математики. М. Изд. "Наука". 1989.4. IBM BlueGene/P — http://hpc.cmc.msu.ru5. Суперкомпьютер "Ломоносов— http://parallel.ru/cluster/superinfo8.