📄Работа №215581

Тема: Сравнение параллельных методов решения больших и сверхбольших разреженных СЛАУ на CPU и GPU

📝
Тип работы Дипломные работы, ВКР
📚
Предмет информатика
📄
Объем: 54 листов
📅
Год: 2022
👁️
Просмотров: 10
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 6
ВВЕДЕНИЕ 7
1 ОСОБЕННОСТИ РЕШЕНИЯ БОЛЬШИХ И СВЕРХБОЛЬШИХ
РАЗРЕЖЕННЫХ СЛАУ 9
1.1 Разреженные матрицы 9
1.2 Хранение разреженных матриц 11
1.3 Метод решения разреженных СЛАУ. Стабилизированный метод
бисопряженных градиентов 12
1.4 Решение на CPU 15
1.5 Решение на GPU 16
1.6 Вывод по разделу 19
2 РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ ЗАМЕРОВ ЭФФЕКТИВНОСТИ
РЕШЕНИЯ СЛАУ 21
2.1 Алгоритм реализации общий для CPU и GPU 21
2.2 Реализация программы для решения на CPU 25
2.3 Реализация программы для решения на GPU 26
2.4 Вывод по разделу 28
3 ПРОВЕДЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ 29
3.1 Оборудование, исходные данные и ожидаемые результаты 29
3.2 Точность вычислений 32
3.3 Скорость вычислений 47
3.4 Вывод по разделу 49
ЗАКЛЮЧЕНИЕ 50
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 51
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1 Код программы 54

📖 Введение

Изучение некоторых систем приводит к математическим моделям в виде систем линейных алгебраических уравнений. Иногда СЛАУ появляются в процессе математического моделирования как промежуточный этап решения более сложной задачи.
Существует большое количество примеров задач [6], в процессе решения которых возникает необходимость решения разреженные СЛАУ:
• проектирование и эксплуатация электротехнических устройств;
• построение математической модели, связывающей функциональной зависимостью некоторые параметры x, y исследуемого объекта на основании полученных в результате эксперимента данных;
• исследование процессов в системах, математические модели которых строятся в классе дифференциальных уравнений в частных производных;
• отображение сущности физических процессов;
• фильтрация жидкости к скважинам в двухмерной области произвольной формы;
• экономических задач [8];
• гидродинамическое моделирования процессов нефтедобычи и т. д.
Решение больших и сверхбольших разреженных СЛАУ допускает своеобразного подхода к решению по сравнению с плотными СЛАУ. Даже сверхбольшие разреженные матрицы, при правильном подходе способны занимать незначительное место в памяти устройств. Операции с разреженными матрицами так же имеют свои преимущества над операциями с плотными матрицами. При выполнении операций над разреженными матрицами, стоит учитывать только ненулевые элементы.
С учетом развития идей применения видеопроцессоров для проведения математических вычислений, возникает вопрос эффективности графического процессора. GPU имеет ряд преимуществ перед CPU [1], но так же и ряд
недостатков, обостряющих вопрос эффективности применения данных процессоров для решения больших и сверхбольших разреженных СЛАУ.
Целью данной работы является разработка программы, выполняющей решение на CPU и GPU с последующим анализом эффективности применения конкретного вычислительного устройства, как точность, время вычислений, время инициализации и т. д.
Для достижения цели необходимо решить следующие задачи:
1) исследовать способы хранения разреженных матриц в памяти компьютера и выбрать оптимальный;
2) выбрать оптимальный для проведения анализа метод решения для разреженных СЛАУ;
3) подготовить исходные данные для обработки (матрицы);
4) изучить особенности реализации программы для каждого вида процессора и разработать программу;
5) произвести анализ результатов экспериментов. ..

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В ходе выполнения выпускной квалификационной работы был выполнен анализ предметной области, выбран один из методов для решения разреженных СЛАУ.
Для выбранного метода были созданы две реализации для CPU с использованием OpenMP и для GPU с использованием библиотек CUDA, cuSparce и cuBLAS. Для реализации метода решения СЛАУ были написаны вспомогательные классы:
• Vector – вектор с распараллеливанием операций вычитания, скалярного умножения и нормы;
• CSRMatrix – разряженная матрица с распараллеливанием операции умножения на вектор.
Для проведения вычислительных экспериментов были использованы разреженные матрицы из библиотеки SuiteSparcse Matrix Collection, полученные из задач разных типов.
Были проведены вычислительные эксперименты для сравнения скорости и точности работы выбранного метода для матриц разных типов.
Для точности double были получены следующие результаты: время решения задачи на GPU меньше в 5 раз, чем на CPU. Разрыв становится больше при увеличении размера матрицы.
Как и предполагалось, разница между временем решения на CPU для double и float оказалась незначительной, но при этом вычисления с точностью float оказались менее устойчивыми из-за погрешности вычислений.
Разница между временем решения на GPU для точности float и double оказалось менее значительным, чем предполагалось и выявление причин требует дополнительных исследований.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1. Баландин, М. Ю. Методы решения СЛАУ большой размерности / М. Ю. Баландин, Э. П. Шурина –Новосибирск: Изд-во НГТУ, 2000. –70 стр.
2. Газизов, И. И. Исследование эффективности распараллеливания решения некоторых разреженных СЛАУ на многоядерных процессорах / И. И. Газизов, А. В. Юлдашев – Москва: НИВЦ МГУ 2013. – 8 c.
3. Губайдуллин, Д. А. Использование графических процессоров для решения разреженных СЛАУ итерационными методами подпространств Крылова с предобуславливанием на примере задач теории фильтрации / Д. А. Губайдуллин, Р. В. Садовников, А. И. Никифоров. – Казань: КазНЦ РАН 2011. – 9 с.
4. Гулай, Т. А. Применение систем линейных алгебраических уравнений при расчете электрических цепей / Т. А. Гулай, В. И. Желтяков // Международный студенческий научный вестник. – 2017. – № 4 (часть 4) – С. 522-524.
5. Сандрэс, Дж. Технология CUDA в примерах. Введение в программирование графических процессоров [Текст] / Дж. Сандрэс, Э. Кэндрот. – Москва.: ДМК Пресс, 2011, – 232с.
6. Области применения СЛАУ: Языки программирования: [сайт]. – 2014. URL: https://life-prog.ru/1_50378_oblasti-primeneniya.html (дата обращения 23.02.2022).
7. Подопригора, А. В. Решение разреженных СЛАУ большой и сверхбольшой размерности многосеточным методом на РВС [Текст] / А. В. Подопригора, М. Д. Чекина // Известия ЮФУ. Технические науки. Реконфигурируемые и нейросетевые вычислительные системы. – 2019. – С. 212–221.
8. Mathelp: Применение СЛАУ в экономике: [сайт]. – 2022. URL: https://www.mathelp.spb.ru/book1/sistem_econ.htm (дата обращения 23.02.2022).
9. cuBLAS: CUDA Toolkit Documentation: [сайт]. – 2022.
URL: https://docs.nvidia.com/cuda/cublas/ (дата обращения 13.02.2022).
10. cuSparce: NVIDIA CUDA Toolkit Documentation: [сайт]. – 2022. URL: https://docs.nvidia.com/cuda/cusparse (дата обращения 13.02.2022).
11. Formmer, A. Accelerating Wilson Fermion Matrix Invesion by Means of the Stibilized Biconjugate Cgadient Agorithm / A. Formmer, V. Hannemann, B. Nokel, Th. Lippert, K. Schilling // International Journal of Modern Physics C. – 1994. – 25 p.
12. Gerard L. BiCGStab(L) for linear equations involving unsymmetric matrices with complex spectrum / L. G. Gerard and R. Diederik // Electronic Transactions on Numerical Analysis. – 1993. – V. 65. – P 11–32.
13. Mark, D. Hill. Performance Analysis and Tuning for General Purpose Graphics Processing Units (GPGPU) / Hyesoon Kim, Richard Vuduc, Sara Baghsorkhi, Jee Choi, Wen-mei Hwu. – University of Wisconsin, Madison, 2012. – 98 p.
14. Exponenta: Sparse Matrix: [сайт]. – .2015. URL: https://docs.
exponenta.ru/matlab/sparse-matrices.html.
15. Linear solvers for power grid optimization problems: A review of GPU- accelerated linear solvers / Kasia Świrydowicz, Eric Darve, Wesley Jones, Jonathan Maack, Shaked Regev, Michael A. Saunders, Stephen J. Thomas, Slaven Peleš. – Parallel Computing, Volume 111, 2022. – URL: https://www.sciencedirect.com/science/article/pii/S0167819121001125 (дата
обращения 17.03.2022)..20

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

©2026 Cервис помощи студентам в выполнении работ