Содержание
Содержание 2
Введение 4
1. Постановка задачи 5
2. Постановка задачи на выпускную квалификационную работу 6
3. Методы численного решения дифференциальных уравнений 7
3.1. Дискретизация дифференциального уравнения 7
3.2. Метод Эйлера для явной схемы 9
3.3. Метод Рунге-Кутты для явной схемы 10
3.4. Метод Эйлера для неявной схемы 12
3.5. Алгоритм Якоби решения СЛАУ 13
3.6. Переход к матричному виду 14
5. Технологии параллельного программирования 16
5.1. OpenMP 16
5.2. MPI 16
5.3. Intel OneAPI 17
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
8. Результаты вычислительных экспериментов 31
8.1. Характеристики вычислительной системы (аппаратная конфигурация, состав ПО) 31
8.2. Сравнение точности численных методов 31
8.3. Оценка производительности реализаций алгоритмов 33
8.4. Оценка масштабируемости реализаций алгоритмов 36
Заключение 40
Литература 41
Приложение