Введение 3
1 Обзор литературы 5
1.1 Математическая модель 5
1.2 Разностные схемы 7
1.3 Технологии параллельных вычислений 8
1.4 Модельные задачи 10
1.5 Существующие программные пакеты 13
1.6 Вывод 14
2 Параллельные алгоритмы и их реализация 15
2.1 Уравнение переноса 15
2.2 Модель системы сосудов 18
2.3 Результаты и выводы 26
Заключение 28
Список литературы 30
По опубликованным Росстатом данным в 2019 доля смертей от заболеваний сердечно-сосудистой системах составляла около 57% [1]. В связи со столь высоким показателем изучение данных заболеваний и способов их предотвращения является крайне актуальной задачей. В связи с этим появляется необходимость изучения и математического моделирования процессов гемодинамики.
Математические модели процессов, происходящих в сердечно-сосудистой системе человека, представляют собой нелинейные системы уравнений в частных производных. Начально-краевые задачи для таких систем записываются на структурах, представляющих собой графы или деревья, состоящие из большого числа рёбер и узлов [2, 3]. Такие структуры моделируют реальные участки сосудистой системы. Из-за наличия нелинейностей такие задачи могут быть решены только с использованием численных методов. В связи с относительно большим числом ребер, такие задачи становятся весьма затратными для проведения расчетов даже на современных вычислительных устройствах. Другой же проблемой является необходимость использования сеток с достаточно большим числом узлов на каждом из участков такой структуры. В связи с этим возникает необходимость использования параллельных вычислений и высокопроизводительных систем с целью ускорения расчетов.
Целью данной работы является исследование возможностей применения высокопроизводительных систем (таких как многопроцессорные вычислительные системы и графические ускорители) к решению задач моделирования кровотока. Для выполнения данной цели поставлены следующие задачи:
• Исследование численных схем, применяемых для решения задач для уравнений гемодинамики.
• Разработка и анализ параллельных алгоритмов решения задач.
• Программная реализация для проведения расчетов с использованием высокопроизводительных систем и графических процессоров, и изучение сложностей, возникающих при реализации параллельных алгоритмов.
Данная работа имеет следующую структуру. В главе 1 рассмотрены математические модели, описывающие течение крови в системе сосудов (§1.1) и численные схемы, применяемые для решения систем уравнений, используемых в данных моделях (§1.2). Рассмотрены технологии применения параллельных вычислений, позволяющие добиться прироста производительности при решении задач для данных систем (§1.3), а также рассмотрены уже существующие программные пакеты, реализующие расчеты на основе различных моделей сосудистых систем (§1.4). В главе 2 предложены параллельные алгоритмы решения задач для уравнений, моделирующих течение крови. В §2.1 в демонстрационных целях предложены алгоритмы для решения уравнения переноса. В §2.2 предложены и реализованы алгоритмы, моделирующие поток крови в модельных системах. Также здесь обсуждаются особенности программной реализации предложенных алгоритмов, описываются возникающие трудности, причины их появления и возможные способы их решения. В данной главе рассмотрены и проанализированы результаты применения данных алгоритмов и проведено сравнение достоинств и недостатков различных методов задействования высокопроизводительных систем. В заключении подведены итоги по выполненной работе и представлены полученные в ней результаты.
Таким образом в выпускной квалификационной работе были получена: следующие результаты:
• Проведено исследование численных схем, применяемых для решения задач для уравнений гемодинамики.
• Были разработаны параллельные алгоритмы решения задач и проведен их анализ.
• Данные алгоритмы были реализованы для проведения расчетов с использованием высокопроизводительных систем на основе CPU (с использованием ОрепМР) и GPU (с использованием CUDA), а также изучены сложности, возникающие при реализации параллельных алгоритмов.
По полученным результатам можно сделать следующие выводы:
• Как можно видеть из полученных результатов — рассмотренные методы позволяют достичь значительного ускорения решения подобных задач, однако существуют различные трудности, от сложности решения которых будет зависеть целесообразность применения подобных методов.
• Применение CUDA требует осуществления копирования данных в память графического процессора, а в связи с тем, что операции копирования требует расходов программного времени на их запуск, большое их количество может привести к тому, что применение CUDA не даст прироста производительности.
• Стоит учитывать особенности высокопроизводительных систем при решении вопроса о целесообразности их применения. Так, полученные результаты говорят о том, что CUDA наиболее хорошо подходит для задач с большим числом узлов и отсутствием необходимости копировать данные между шагами вычислений, в то время как ОрепМР позволяет добиться прироста производительности на простых задачах с низким числом узлов.
1. Федеральная служба государственной статистики: сайт // URL: https://rosstat.gov.ru/folder/12781 (дата обращения: 03.04.2021)
2. Matthys K.S., Alastruey J., Peiro J., Khir A. W., Segers P., Verdonck P. R., Parker К. H., Sherwin S. J.. Pulse wave propagation in a model human arterial network: assessment of 1-D numerical simulations against in vitro measurements //J Biomech. 2007. 40(15), P. 3476-3486
3. Boileau E., Nithiarasu P., Blanco P. J., Muller L. O., Fossan F. E., Hellevik L. R., Bonders W. P., Huberts W., Willemet M., Alastruey J. A benchmark study of numerical schemes for one-dimensional arterial blood flow modelling // Int J Numer Method Biomed Eng. 2015. 31(10)
4. Физиология человека: учебник под ред. Смирнова В.М. М.: Медицина, 2002. 608 с.
5. Каро К., Педли Т., Шротер Р., Сид У. Механика кровообращения. Пер. с англ. М.: Мир, 1981. 624 с.
6. Валландер С. В. Лекции по гидроаэромеханике. Учеб, пособие. Л.: Ле- нингр. ун-т, 1978. 296 с.
7. Formaggia L, Lamponi D and Quarteroni A. One-dimensional models for blood flow in arteries // J. of Eng. Math. 2003. 47, P. 251-276
8. Xiao N., Alastruey J., Alberto Figueroa C. A systematic comparison between 1-D and 3-D hemodynamics in compliant arterial models // Int J Numer Method Biomed Eng. 2014. 30(2), P. 204-231
9. Токарева, С. А. Прикладная газовая динамика. Численные методы решения гиперболических систем уравнений : учебное пособие СПб.: Лань, 2019. 244 с.
10. Миньков Л.Л., Шрагер Э.Р. Основные подходах к численному решению одномерных уравнений газовой динамики : Учебное пособие Томск: STT, 2016. 136 с.
11. Антонов А.С., Параллельное программирование с использованием технологии ОрепМР: Учебное пособие М.: Изд-во МГУ, 2009. 77 с.
12. Chapman В., Jost G., van der Pas R. Using ОрепМР: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). Cambridge: The MIT Press., 2007. 353 c.
13. Боресков А. В., Харламов А. А., Марковский H. Д., Микушин Д. H., Мортиков E. В., Мыльцев А. А., Сахарных H. А., Фролов В. А. Параллельные вычисления на GPU. Архитектура и программная модель CUDA М.: Московский государственный университет имени М.В. Ломоносова, 2015. 336 с.
14. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах. Введение в программирование графических процессоров М.: ДМК Пресс, 2013. 232 с.
15. Agdestein S., Valen-Sendstad К., Diem A. Artery.FE: An implementation of the ID blood flow equations in FEniCS // Journal of Open Source Software. 2018. 3(32)
...