Численное решение ДУЧП параболического типа с использованием современных технологий параллельного программирования

Author image
Timur
Тип
Дипломная работа
Дата загрузки
12.03.2023
Объем файла
484 Кб
Количество страниц
30
Уникальность
Неизвестно
Стоимость работы:
2400 руб.
3000 руб.
Заказать написание работы может стоить дешевле

Введение
Сложность и трудоемкость научных задач стремительно увеличивается. Современные исследования в областях физики, медицины и компьютерных технологий требуют колоссальное количество времени и ресурсов, которые переложены на ЭВМ. Эффективность выполнения расчетов полностью зависит от качества разработанных программ, то есть, от квалификации разработчика.
Специфика задач вычислительной физики состоит в высокой размерности пространства состояний систем, а значит огромной вычислительной трудоемкости. Численное моделирование таких систем возможно только с применением высокопроизводительных вычислений. Методика высокопроизводительных вычислений включает в себя выбор численного метода решения данной задачи, обеспечивающего достаточную точность приближения, разработку алгоритма параллельных вычислений на современных суперкомпьютерах, реализацию алгоритма с использованием технологий параллельного программирования.
Данная работа посвящена численному моделированию изменения температуры объемного объекта с течением времени. Машинный вычислительный эксперимент как новый метод научного исследования предполагает дискретизацию исходной задачи и требует специальной проработки численного алгоритма (корректность, устойчивость, точность, сходимость). В ходе работы будут разработаны и применены эффективные вычислительные комплексы, необходимые для математического моделирования сложных систем. 
Ежегодно в рамках международной конференции "Суперкомпьютерные дни в России" передовые исследователи делятся своими открытиями в области численных методов и экспериментами с использованием современных технологий параллельного программирования. Показательными является статьи И.В. Куликова – “Методы моделирования электронного газа в плоском диоде” и Н.А. Катаев, А.С. Колганов – “Дополнительное распараллеливание MPI программ с помощью системы SAPFOR“ презентованная в рамках конференции 2021 года. В рамках которых раскрывалась проблема эффективному подходу к решению задач численных методов.

 

Содержание

Содержание 2

Введение 4

1. Постановка задачи 5

2. Постановка задачи на выпускную квалификационную работу 6

3. Методы численного решения дифференциальных уравнений 7

3.1. Дискретизация дифференциального уравнения 7

3.1.1. Разностная сетка для одномерной задачи 7

3.1.2. Разностная сетка для трехмерной задачи 8

3.1.3. Явные разностные схемы 8

3.2. Метод Эйлера для явной схемы 9

3.3. Метод Рунге-Кутты для явной схемы 10

3.4. Метод Эйлера для неявной схемы 12

3.5. Алгоритм Якоби решения СЛАУ 13

3.6. Переход к матричному виду 14

3.6.1. Метод Рунге-Кутта 15

3.6.2. Метод Эйлера 15

5. Технологии параллельного программирования 16

5.1. OpenMP 16

5.2. MPI 16

5.3. Intel OneAPI 17

5.3.1. DPC++ 17

5.3.1. OneMKL 18

6. Технологии разработки 19

6.1. Введение 19

6.2. Система контроля версий 20

6.3. Кроссплатформенный генератор решения 20

6.4. Сборщик решения 21

6.5. Тестирование 21

6.6. Система автоматического тестирования 22

7. Описание программы 23

7.1. Структура решения 23

7.2. Конфигурация решения 24

7.3. Состав и структура входных данных 24

7.4. Объем исходного кода 25

7.5. Схема работы программы 26

7.6. Состав и структура выходных данных 26

7.7. Схема распараллеливания при использовании MKL 27

7.8 Схема распараллеливания при использовании DPC 27

7.9 Схема распараллеливания при использовании OpenMP 27

7.10 Схема распараллеливания при использовании MPI 28

7.10.1. Введение 28

7.10.2. Одномерная модель 28

7.10.3. Трехмерная модель 29

8. Результаты вычислительных экспериментов 31

8.1. Характеристики вычислительной системы (аппаратная конфигурация, состав ПО) 31

8.2. Сравнение точности численных методов 31

8.2.1. Цель выполнения эксперимента 31

8.2.2. Описание проведения эксперимента 31

8.2.3. Результаты экспериментов 31

8.2.4. Выводы по результатам 33

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

8.3.1. Цель выполнения эксперимента 33

8.3.2. Описание проведения эксперимента 34

8.3.3. Результаты экспериментов 34

8.3.4 Выводы по результатам 36

8.4. Оценка масштабируемости реализаций алгоритмов 36

8.4.1. Цель выполнения эксперимента 36

8.4.2 Описание проведения эксперимента 36

8.4.3. Результаты экспериментов 37

8.4.4. Выводы по результатам 39

Заключение 40

Литература 41

Литература

● Кульков С.С. Алгоритмизация расчётов химико-технологических процессов. // Электронное издание // Режим доступа: http://ikt.muctr.ru/images/ucheba/bakalavr/chislen_metody_koltsova/uchebnik

● Кульков С.С. Алгоритмизация расчётов химико-технологических процессов. // Электронное издание // Режим доступа: http://ikt.muctr.ru/images/ucheba/bakalavr/chislen_metody_koltsova/uchebnik

● Н.А. Катаев Дополнительное распараллеливание MPI программ с помощью системы SAPFOR / А.С. Колганов / Суперкомпьютерные дни в Росии / Докл. Межд. Конференции 27–28 сентября 2021 г., Москва // Режим доступа: https://2021.russianscdays.org/files/2021/RuSCDays21_Proceedings.pdf

● И.В. Куликова Методы моделирования электронного газа в плоском диоде / Суперкомпьютерные дни в Росии / Докл. Межд. Конференции 27–28 сентября 2021 г., Москва // Режим доступа: https://2021.russianscdays.org/files/2021/RuSCDays21_Proceedings.pdf

● А.А. Самарский. Введение в теорию разностных схем. //М.: Издательство «Наука» – 1971. – С. 551.

● Годунов С. К., Рябенький В.С. Разностные схемы. //М.: Издательство «Наука» – 1977. – С. 435.

● Яненко Н. Н. Метод дробных шагов решения многомерных задач математической физики. //М.: Издательство «Наука» – 1967. – С 188.

● Яненко Н. Н. Метод дробных шагов решения многомерных задач математической физики: лекции для студентов НГУ / Яненко Н. Н.; Новосиб. гос. ун-т. - Новосибирск: Б.и., 1966. - 255 с.

● Яненко Н. Н. Введение в разностные методы математической физики: Лекции для студентов НГУ. Ч.2. / Яненко Н. Н.; Новосиб. гос. ун-т. - Новосибирск: Б.и., 1968. - С.197- 385. - Библиогр: с.379-385.

● Расчет характеристик ламинарного пограничного слоя на телах вращения / Алексеева Т. Е., Громов В. П., Дмитриева А. Ф., Колобов Б. П., Кузнецов Б. Г., Семенов Б. Н., Яненко Н. Н. - Новосибирск: Наука. Сиб. отд-ние, 1968. - 219 с.

● Марчук Г. И. Методы вычислительной математики. //М.: Издательство «Наука» – 1978.1 – С. 428.

● Демидович Б. П. Лекции по математической теории устойчивости. – Лань, 2008.

● Золотых Н. Ю. Лекции по линейной алгебре. // Электронное издание // Режим доступа: http://www.uic.unn.ru/~zny/algebra

● Гергель В. П. Высокопроизводительные вычисления для многопроцессорных многоядерных систем //М.: Издательство Московского университета. – 2010. – С. 534.

● Антонов А. С. Параллельное программирование с использованием технологии OpenMP: Учебное пособие. М.: Изд-во МГУ, 2009. 77 с.

В явных методах перед входом в цикл по времени каждый процесс получает свою часть начальных значений. Распределение выглядит следующим образом: узлы распределяется по всем процессам, нулевой получает дополнительно остаток от деления элементов для вычислений. Итоговый массив имеет размер n+2 у каждого, где n- число узлов, полученных каждым процессом. Два элемента — это необходимые значения для вычисления граничных узлов.
В начале каждого шага по времени каждый процесс отправляет соседям свой граничащих с ними узел. Аналогично каждый принимает от своего соседа граничные узлы для вычисления собственных значений функций. Каждый процесс обрабатывает свои элементы согласно выведенным ранее формулам. В случае метода Рунге-Кутты отправка и получение происходит четыре раза на каждой итерации по пространству, распределяя значения K1, K2, K3 и U.
Перед окончанием работы алгоритма все процессы отправляют свои значения нулевому. После сбора всех элементов происходит вычисление времени и анализ полученных значений.