Тема: Метод бисопряженных градиентов BiCGStab для решения систем линейных уравнений на многоядерных компьютерах с общей памятью
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 4
Глава 1. Постановка задачи 5
1.1 Существование и единственность решения СЛАУ 5
2.1 Дискретизация уравнений в частных производных 6
Глава 2. Численные методы решения СЛАУ 12
2.1 Классификация численных методов решения СЛАУ 12
2.2 Итерационные методы решения СЛАУ 12
2.3 Метод сопряжённых градиентов CG 14
2.4 Стабилизированный метод биспопряжённых градиентов BiCGStab 15
2.5 Предобуславливание 16
Глава 3. Параллельное программирование 20
Глава 4. Результаты вычислительных экспериментов 22
Заключение 27
Список используемой литературы 28
📖 Введение
Изучение различных природных явлений всегда было и остаётся одним из актуальных направлений в науке. Многие физические явления в природе описываются дифференциальными уравнениями в частных производных. Зачастую аналитически решить данные уравнения либо весьма затруднительно, либо вовсе не удаётся. В таких случаях данные задачи решают приближённо при помощи численных методов. Суть большинства таких методов в том, что непрерывная область аргумента исследуемых функций заменяется дискретной, затем строится разностная схема, и в итоге задача сводится к решению СЛАУ.
Характерной особенностью таких задач является их большая размерность, в следствии чего их решают при помощи программирования на электронно-вычислительных машинах (ЭВМ). Некоторые подзадачи в программах могут выполняться параллельно, что позволяет ускорить поиск их решения. Данный факт наводит на использование в задачах решения СЛАУ методов параллельного программирования.
Также, ещё одним способом ускорения процесса поиска решения СЛАУ является процесс преобразования условий задачи, называемый предобуславливанием. На сегодняшний день данной теме посвящено много исследований, и ни одна серьёзная задача не обходится без применения эффективного метода предобуславливания.
Данная работа посвящена исследованию и разработке эффективных численных методов решения СЛАУ больших размерностей, а также их параллельным программным реализациям.
✅ Заключение
В результате проведённых в данной работе вычислительных экспериментов можно сделать вывод, что с помощью метода CG решение СЛАУ с симметричной матрицей коэффициентов можно получить быстрее, чем с помощью метода BiCGStab. Объясняется это тем, что в методе CG используется меньше операций, чем в методе BiCGStab. Однако для СЛАУ с несимметричной матрицей коэффициентов необходимо использовать метод BiCGStab, т.к. данный тип СЛАУ не удовлетворяет условиям сходимости метода CG.
С помощью предобуславливания методом Якоби удалось уменьшить число итераций, но время выполнения программы возросло, поскольку в алгоритм метода с предобуславливанием были добавлены вычислительные операции.
С помощью применения параллельных технологий программирования удалось ускорить решение задачи как с использованием метода CG, так и с использованием метода BiCGStab.
В случае использования OpenMP видно, что с ростом количества параллельных процессов уменьшается эффективность использования параллельной программой ресурсов вычислительной системы.
С помощью использования технологии OpenACC удалось добиться наилучших из всех приведённых в данной работе результатов, в следствии чего можно сделать вывод, что графические процессоры и данная технология подходят для параллельных вычислений лучше, чем центральные процессоры и технология OpenMP, однако стоит отметить, что данная технология сложнее в освоении, нежели OpenMP.





