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

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

Вид работы: Дипломная работа  |   Предмет работы: Программирование   |   Количество листов: 43

DPC++ реализует параллельные вычисления на общей памяти, в которой «главный» (master) поток создает набор подчиненных (slave) потоков и задача распределяется между ними. Предполагается, что применение данной технологии возможно на CPU и на GPU. Задачи, выполняемые потоками параллельно, так же как и данные, требуемые для выполнения этих задач, описываются с помощью специальных функций и методов библиотеки SYCL. В ходе данной практической работы будет использована USM (Unified Shared Memory) память, позволяющая выделять и использовать необходимые объемы ресурсов без специальных объектов, контролирующих память(accessors), используя “C” стиль работы с указателями. Для распределения вычислений будет использована безымянная лямбда, практически эквивалентная последовательному выполнению, используя метод parallel_for. 5.3.1. OneMKL Программное обеспечение Intel Math Kernel Library является высокопроизводительной библиотекой оптимизированных и распараллеленных математических процедур для научных, инженерных и финансовых расчетов, требующих максимального быстродействия. Распределение вычислений происходит неявно. Внутри используемых функций. Библиотека предоставляет возможность использовать решение на общей памяти, так и на распределенной(кластере). В ходе данной практической работы будет использованы базовые методы библиотека для работы с векторами и разреженными матрицами: умножение, сложение, оптимизация хранения разреженных матриц. Итоговое решение идентично последовательному, но все работы с матрицами выполнены посредством вызовов MKL.


Содержание
Введение 5
1. Постановка задачи 6
2. Постановка задачи на выпускную квалификационную работу 7
3. Методы численного решения дифференциальных уравнений 8
3.1. Дискретизация дифференциального уравнения 8
3.1.1 Разностная сетка для одномерной задачи 8
3.1.2 Разностная сетка для трехмерной задачи 9
3.1.3. Явные разностные схемы 10
3.2. Метод Эйлера для явной схемы 11
3.3. Метод Рунге-Кутты для явной схемы 11
3.4. Метод Эйлера для неявной схемы 14
3.5. Алгоритм Якоби решения СЛАУ 15
3.6. Переход к матричному виду 16
3.6.1. Метод Рунге-Кутта 17
3.6.2. Метод Эйлера 17
5. Технологии параллельного программирования 19
5.1. OpenMP 19
5.2. MPI 19
5.3. Intel OneAPI 20
5.3.1. DPC++ 20
5.3.1. OneMKL 20
6. Технологии разработки 21
6.1. Введение 21
6.2. Система контроля версий 21
6.3. Кроссплатформенный генератор решения 21
6.4. Сборщик решения 21
6.5. Тестирование 21
6.6. Система автоматического тестирования 21
7. Описание программы 22
7.1. Структура решения 22
7.2. Конфигурация решения 23
7.3. Состав и структура входных данных 23
7.4. Объем исходного кода 23
7.5. Схема работы программы 24
7.6. Состав и структура выходных данных 25
7.7. Схема распараллеливания при использовании MKL 25
7.8 Схема распараллеливания при использовании DPC 25
7.9 Схема распараллеливания при использовании OpenMP 26
7.10 Схема распараллеливания при использовании MPI 26
7.10.1 Введение 26
7.10.2 Одномерная модель 26
7.10.3 Трехмерная модель 27
8. Результаты вычислительных экспериментов 29
8.1. Характеристики вычислительной системы (аппаратная конфигурация, состав ПО) 29
8.2. Сравнение точности работы алгоритмов 29
8.2.1. Цель выполнения эксперимента 29
8.2.2. Описание проведения эксперимента 29
8.2.3. Результаты экспериментов 29
Для трехмерной задачи подготовлены следующие диаграммы: 30
8.2.4 Выводы по результатам 31
8.3. Оценка производительности реализаций алгоритмов 31
8.3.1. Цель выполнения эксперимента 31
8.3.2. Описание проведения эксперимента 31
8.3.3. Результаты экспериментов 31
8.3.4 Выводы по результатам 33
8.4. Оценка масштабируемости реализаций алгоритмов 33
8.4.1. Цель выполнения эксперимента 33
8.4.2. Описание проведения эксперимента 33
8.4.3. Результаты экспериментов 33
8.4.4 Выводы по результатам 36
Заключение 37
Литература 38
Приложение A. Rooflines 39
Приложение 1 (Roofline MKL Матричный вариант метода Эйлера) 39
Приложение 2 (Roofline MKL Матричный вариант метода Рунге-Кутта) 39
Приложение 2 (Roofline MKL решение неявного метода Эйлера) 39
Приложение B. Фрагменты исходного кода 40
Приложение 1 (Base_3d) 40
Приложение 2 (Получение разреженной матрицы 40
Приложение 3 (MKL Matrix Euler) 41
Приложение 4 (MKL Matrix RK) 41
Приложение 4 (MKL Jacobi) 42
Приложение 5 (DPC Euler) 42
Приложение 6 (DPC Matrix Euler) 43
Приложение 7 (DPC Jacoby) 43
Приложение 8 (DPC RK) 43
Приложение 8 (DPC Matrix RK) 43










ПОМОЩЬ С НАУЧНОЙ РАБОТОЙ

Подготовим для Вас работу по стандартам Вузов

Готовая работа с высокой уникальностью по минимальной цене
Срок выполнения от 2 часов
Антиплагиат более 70%

Быстрый заказ работы





[honeypot 2Mp1wUz2rkcR2jj1Ahxo]

Мы перезвоним через 5 минут

Яндекс.Метрика

Error: Please enter a valid email address

Error: Invalid email

Error: Please enter your first name

Error: Please enter your last name

Error: Please enter a username

Error: Please enter a password

Error: Please confirm your password

Error: Password and password confirmation do not match