Тип работы:
Предмет:
Язык работы:


Повышение производительности решения СЛАУ за счет реализации метода сопряженных градиентов с использованием вычислительных мощностей графических процессоров и технологии CUDA

Работа №80249

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы48
Год сдачи2016
Стоимость4215 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
195
Не подходит работа?

Узнай цену на написание


1 Введение 5
2 Техническое задание 6
3 Научно-исследовательская часть 11
3.1 Постановка задачи 11
3.2 Анализ методов решения 14
3.2.1 Метод сопряженных градиентов 14
3.2.2 Предобуславливание 14
3.2.2.1 Неполное разложение Холецкого 16
3.2.2.2 Методы стабилизации неполного разложения
Холецкого 17
3.3 Выбор технологий 17
3.3.1 Г етерогенные вычисления 18
3.3.2 Технология CUDA 19
3.4 Анализ результатов тестирования 20
4 Проектно-конструкторская часть 25
4.1 Структуры хранения данных 25
4.1.1 Программа на CPU 25
4.1.1.1 Класс SparseArray 25
4.1.1.2 Класс Sparselterator 27
4.1.1.3 Класс SparseMatrix 28
4.1.2 Программа c использованием GPU 29
4.1.2.1 Строчный разреженный формат 29
4.2 Класс предобуславливателя 30
4.3 Программная реализация 32
4.3.1 Программа с использованием GPU 32
4.3.2 Программа с использованием GPU (оптимизированный
вариант) 32
5 Технологическая часть 34
5.1 Программная модель CUDA 34
5.1.1 Основные принципы 34
5.1.2 Иерархия нитей 35
5.1.3 Расширения языка 37
5.1.3.1 Атрибуты функций и переменных 37
5.1.3.2 Встроенные типы 38
5.1.3.3 Встроенные переменные 39
5.1.3.4 Оператор вызова GPU-ядра 39
5.2 Иерархия памяти CUDA 40
5.2.1 Регистры 40
5.2.2 Локальная память 41
5.2.3 Разделяемая память 41
5.2.4 Глобальная память 41
5.2.5 Константная и текстурная память 42
5.3 Уровень аппаратуры GPU 42
5.4 Прикладные математические библиотеки CUDA 43
5.4.1 CUBLAS 43
5.4.2 CUSPARSE 44
6 Заключение 45
7 Библиографический список

Метод конечных элементов (МКЭ) является эффективным численным методом решения задач, описываемых дифференциальными уравнениями в частных производных. При решении задач МКЭ наиболее ресурсоёмкой частью является решение системы линейных алгебраических уравнений (СЛАУ), полученной в результате ансамблирования уравнений, описывающих отдельные конечные элементы (КЭ). В качестве метода решения был предложен итерационный метод сопряженных градиентов. Кроме этого, для увеличения скорости сходимости данного метода, необходима была модификация основного алгоритма, использующая предобуславливатель на основе метода Холецкого.
Целью работы является повышение производительности решения СЛАУ МКЭ в рамках задач о нелинейном деформировании материалов за счет реализации метода сопряженных градиентов с использование вычислительных мощностей графических процессоров и технологии CUDA.
Задачи дипломной работы:
• реализовать алгоритм метода сопряженных градиентов с
использованием GPU;
• преобразовать схемы хранения матрицы СЛАУ с учетом
особенностей алгоритма;
• провести тестовые расчеты (матрицы предоставляет РК5 из собственных программ) для задач различной размерности;
• сравнить производительность алгоритма при использовании
различных типов предобуславливателей;
• провести анализ производительности алгоритма (в сравнении с CPU).


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

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

Помощь студентам в написании работ!


Целью данного дипломного проекта являлось повышение производительности решения СЛАУ МКЭ за счет реализации метода сопряженных градиентов с использование вычислительных мощностей графических процессоров и технологии CUDA. Данная задача была выполнена в полном объёме.
Был проведен анализ алгоритма метода сопряженных градиентов. Было выполнено преобразование схемы хранения матрицы с учетом особенностей реализации алгоритма с использованием GPU. Был реализован алгоритм метода сопряженных градиентов с использованием технологии CUDA. Был реализован программный модуль для расчета предобуславливателя на основе неполного разложения Холецкого. Была разработана схема перемножения разреженной матрицы на плотный вектор.
Был проведен анализ производительности, который показал сокращение временных затрат в два раза по сравнению с программным решением на CPU.



1. Джордж А. [George A.], Лю Дж. [Liu J.] Численное решение
больших разреженных систем уравнений: пер. с англ. М.: Мир, 1984.
2. Bathe K-J. Finite element procedures. New Jersey: Prentice Hall, 1996.
3. Benzi M. Preconditioning techniques for large linear systems // Journal of Computational Physics. 2002. N 182. P. 418-477.
4. Сандерс Дж. [Sanders J.], Кэндрот Э. [Kandrot E.] Технология CUDA в примерах: введение в программирование графических процессоров: пер. с англ. А.А. Слинкиной. М: ДМК Пресс, 2011.
5. Боресков А.В. и др. Параллельные вычисления на GPU. Архитектура и программная модель CUDA: Учебное пособие. М: Издательство Московского университета, 2012.
6. Джораев А.Р. Гибридные вычислительные системы на основе GPU для задач биоинформатики // Компьютерные исследования и моделирование. 2010. Vol. 2(2). P. 163-167.
7. Зенкевич О. [Zienkiewicz O.] Метод конечных элементов в технике: пер. с англ. М.: Мир, 1975.
8. Уоткинс Д. [Watkins S.] Основы матричных вычислений: пер. с англ. В.Е Кондрашова, С.Б. Королёва. М.: БИНОМ. Лаборатория знаний, 2006.
9. Programming Guide [Электронный ресурс] // CUDA Toolkit
Documentation. URL: http://docs.nvidia.com/cuda/cuda-c-
programming-guide/index.html (дата обращения: 27.04.2015).
10. CUSPARSE [Электронный ресурс] // CUDA Toolkit Documentation.
URL: http://docs.nvidia.com/cuda/cusparse/(дата обращения:
27.04.2015).
11. CUBLAS [Электронный ресурс] // CUDA Toolkit Documentation.
URL: http://docs.nvidia.com/cuda/cublas/ (дата обращения:
27.04.2015).
12. Основы CUDA [Электронный ресурс] // steps3D. URL: http://steps3d.narod.ru/tutorials/cuda-tutorial.html(дата обращения: 27.04.2015).


Работу высылаем на протяжении 30 минут после оплаты.




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