Аннотация
Введение 4
1. Постановка задачи 5
1.1 Физическая постановка задачи 5
1.2 Математическая постановка задачи 6
2. Дискретизация и численный метод решения 7
2.1 Построение сетки и применение явной разностной схемы 7
2.2. Вопросы устойчивости, сходимости и аппроксимации схемы 10
3. Программирование 13
3.1 Решение поставленной задачи средствами MPI 16
3.2 Решение поставленной задачи средствами OpenMP 20
3.3 Решение поставленной задачи средствами OpenACC 27
4. Численные эксперименты 33
4.1 Результаты математического моделирования процесса
теплопереноса и их верификация 33
4.2 Результаты параллелизации средствами MPI 35
4.3 Результаты параллелизации средствами OpenMP 38
4.4 Результаты параллелизации средствами OpenACC 40
5. Заключение 42
Литература 44
Приложение 1 46
Приложение 2 50
Приложение 3 51
Приложение 4 53
В наши дни применение суперкомпьютеров, многоядерных персональных компьютеров и других высокопроизводительных вычислительных систем является одним из важнейших направлений в вычислительной технике. Современные научные исследования и промышленные разработки требуют очень сложных и трудоемких вычислений, которые зачастую могут быть выполнены лишь на высокопроизводительных, многоядерных ЭВМ. Одной из важных для различных сфер деятельности задач является задача теплопроводности. Задача имеет огромное влияние на различные сферы человеческой деятельности: энергетику, машиностроение, ракетостроение, кораблестроение, теплофизику, ядерную физику и другие. Большинство задач могут быть решены только с помощью численных методов и математического моделирования. В процессе решения этих задач появляются проблемы, которые связанны с огромным объемом обрабатываемых данных, что влечет за собой значительное увеличение времени для получения решения. Использование многопроцессорных ЭВМ дает возможность значительно сократить время обработки огромных массивов информации. [4, 10].
В данной работе проведен расчет распределения температуры внутри исследуемого тела - кирпичной стены. Данный процесс происходит в результате теплообмена тела с окружающим его воздухом. Решение задачи было получено посредством численного решения двумерного уравнения теплопроводности с использованием конечно-разностных формул, для которых исследованы вопросы устойчивости, порядка аппроксимации и сходимости. Для расчета по полученным формулам разработаны программы с применением различных технологий параллельного программирования: MPI, OpenMP, OpenACC. Работа программ осуществлена с использованием вычислительной техники: кластера ТГУ - Skif-Cyberia, многопроцессорного ПК с общей памятью, видеокарты сервера ММФ - Tesla. Для каждой версии параллельных программ был проведен анализ их ускорения и эффективности.
В данной работе была рассмотрено моделирование теплообмена между двумя средами и кирпичной стеной. В ходе работы предложен и реализован в виде разработанных программ способ решения задачи. Задача была решена численно с применением явной разностной схемы. Также выполнено исследование свойств разностной схемы: аппроксимации, устойчивости, сходимости.
Программная реализация была осуществлена на языке высокого уровня С/С++ с применением различных технологий параллельного программирования: MPI, OpenMP, OpenACC. Построена визуализация
распределения температуры в построенной модели.
На основе проведенных расчетов показано, что каждая из разработанных программ дает практически идентичное решение поставленной задачи.
Измерено время работы параллельных программ, вычислены их параллельные характеристики: эффективность и ускорение. Проведен анализ и сравнение результатов параллелизации с применением различных технологий.
На основе полученных результатов можно сделать следующие выводы. Параллельные реализации программ с использованием MPI и OpenMP показывают очень хорошее ускорение до 4 используемых процессов/потоков. При дальнейшем увеличении их числа заметно снижается рост ускорения и падает эффективность. Вычисления, проведенные на графическом процессоре, показывают ускорение в десятки раз. Это открывает большие перспективы в применении графических ускорителей при распараллеливании программ. Кроме того, программная реализация алгоритма с применением технологий OpenMP или OpenACC осуществляется значительно проще и быстрее, чем реализация с применением MPI. Необходимо учесть, что ее возможно осуществить даже на стандартном ПК.
Однако, нельзя недооценивать и возможности технологии MPI. Так, при решении задач более крупного масштаба сложность реализации программ с MPI компенсируется возможностями использования огромного числа ядер и вычислительных узлов суперкомпьютеров.
Таким образом, каждая из исследованных в настоящей работе технологий параллельного программирования важна, и должна грамотно использоваться для решения определенного класса задач.
1. Антонов А.С. Параллельное программирование с использованием технологии MPI: Учебное пособие / Антонов А.С. - Москва: Изд-во МГУ, 2004. - 71 с.
2. Антонов А.С. Параллельное программирование с использованием технологии OpenMP: Учебное пособие / Антонов А.С. - Москва: Изд-во МГУ, 2009. - 77 с.
3. Беликов Д.А. Высокопроизводительные вычисления на кластерах / Д.А. Беликов, И.В. Говязов, Е.А. Данилкин, В.И. Лаева, С.А. Проханов, А.В. Старченко; под ред. А.В. Старченко. - Томск: Изд-во Том. Ун-та, 2008. - 198 с.
4. Данилкин Е. А. Распараллеливание явных и неявных разностных схем, эффективность параллельных и последовательных программ / Е. А. Данилкин. - Томск : Изд-во Том. ун-та, 2014. - 41 с.
5. Кузнецов Г. В. Разностные методы задач теплопроводности / Г. В. Кузнецов, М. А.Шеремет. - Изд-во Том. политех. ун-та, 2007. - 172 с.
6. Мареев В.В. Основы методов конечных разностей / В.В. Мареев, Е.Н.
Станкова // Санкт-Петербург., - 2012 - С. 17-18.
7. Патанкар С. Численные методы решения задач теплообмена и динамики жидкости : пер. с англ. / С. Патанкар. - М: Энергоатомиздат, 1984. - 152 с
8. Романенко А. А. Особенности адаптации программ под GPU с использованием технологии OpenACC: Учеб. пособие / А. А. Романенко. - Новосибирск: РИЦ НГУ, 2016 - 33 с.
9. Самарский А. А. Теория разностных схем / А. А. Самарский. - Изд-во М., 1977. - 656с.
10. Старченко А. В. Методы параллельных вычислений / А. В. Старченко, В. Н. Берцун. -Томск : Изд-во Том. ун-та, 2013. - 225 с.
11. Хуторова О.Г. Основы работы с библиотекой OpenMP: Учебнометодическое пособие / Хуторова О.Г. - Казань: Казан. ун-т., 2022 - 26 с.