Введение 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. Получено, что алгоритм параллельных вычислений имеет большое значение. Простая реализация параллельных вычислений для двумерных краевых задач может приводить к большему времени вычислений по сравнению с последовательным алгоритмом. Приведен пример доработанного параллельного метода, в котором время вычислений уменьшается.