Введение 4
1 Постановка задачи 5
2 Последовательные методы решения задачи Дирихле 5
3 Организация параллельных вычислений для систем с общей памятью 10
3.1 Использование ОрепМР для организации параллелизма 10
3.2 Проблема синхронизации параллельных вычислений 12
3.3 Возможность неоднозначности вычислений в параллельных программах 16
3.4 Проблема взаимоблокировки 17
3.5 Волновые схемы параллельных вычислений 18
Заключение 23
Список литературы 24
ПРИЛОЖЕНИЕ А Листинг кода алгоритма 1 25
ПРИЛОЖЕНИЕ Б Листинг кода алгоритма 2 26
ПРИЛОЖЕНИЕ В Листинг кода алгоритма 3 27
ПРИЛОЖЕНИЕ Г Листинг кода схемы блокировки 28
ПРИЛОЖЕНИЕ Д Листинг кода волновой схемы 29
ПРИЛОЖЕНИЕ Е Листинг кода блочной волновой схемы
Дифференциальные уравнения в частных производных являются широко применяемым математическим аппаратом при разработке моделей в самых различных областях науки и техники. Плохо то, что явное решение этих уравнений в аналитическом виде получается возможным только в частных простых случаях, и, как итог, возможность исследования математических моделей, построенных на основе дифференциальных уравнений, обеспечивается при помощи приближенных численных методов решения. Объем выполняемых при этом вычислений обычно является большим и использование мощных вычислительных систем является обычным для данного раздела вычислительной математики. На сегодняшний день данная тема, то есть проблематика численного решения дифференциальных уравнений в частных производных, является местом больших, многочисленных исследований.
Исследовано численное решение краевой задачи для уравнения Пуассона. Рассмотрена двумерная краевая задача с разными краевыми условиями и разной правой частью. Численное решение получено с помощью одного последовательного и двух параллельных алгоритмов на языка С++. Параллельные вычисления проведены с помощью библиотеки OpenMP в среде VisualStudio. Получено, что алгоритм параллельных вычислений имеет большое значение. Простая реализация параллельных вычислений для двумерных краевых задач может приводить к большему времени вычислений по сравнению с последовательным алгоритмом. Приведен пример доработанного параллельного метода, в котором время вычислений уменьшается.
1. Тихонов А.Н., Самарский А.А. Уравнения математической физики. - М.: Наука. 1977.
2. Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., and Melon, R. Parallel Programming in OpenMP. Morgan Kaufmann.2000.
3. Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем - СПб.: БХВ-Петербург. 2002.
4. Гергель, В.П., Стронгин, Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. - Н.Новгород, ННГУ.2001.
5. Березин И.С., Жидков И.П. Методы вычислений.-М.:Наука.1966.
6. Хамахер К., Вранешич З., Заки С. Организация ЭВМ. -СПб:Питер. 2003.
7. Бахвалов Н.С. Численные методы. М.:Наука.1975.
8. Антонов А.С. Параллельное программирование с использованием технологии OpenMP. -М.:Изд-во МГУ. 2009.
9. Roosta, S.H. Parallel Processing and Parallel Algorithms: Theory and Computation. SpringerVerlag,NY.2000.
10. Соболев С.Л., Уравнения математической физики, 1966.
11. Формалев В. Ф., Ревизников Д. Л. Численные методы. - М.: ФИЗМАТЛИТ, 2004.