Применение высокопроизводительных вычислений в задачах моделирования течения крови в сосудистых системах
В работе рассматривается применение высокопроизводительных систем (с применением таких технологий как OpenMP, CUDA) к решению задач моделирования кровотока в одномерной постановке. В работе были предложены и реализованы алгоритмы решения таких задач, а также были рассмотрены трудности, возникающие при их реализации. Был проведен анализ эффективности применения высокопроизводительных систем к задачам моделирования кровотока.
Введение 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]. Такие струк-
туры моделируют реальные участки сосудистой системы. Из-за наличия
нелинейностей такие задачи могут быть решены только с использованием
численных методов. В связи с относительно большим числом ребер, та-
кие задачи становятся весьма затратными для проведения расчетов даже
на современных вычислительных устройствах. Другой же проблемой яв-
ляется необходимость использования сеток с достаточно большим числом
узлов на каждом из участков такой структуры. В связи с этим возникает
необходимость использования параллельных вычислений и высокопроиз-
водительных систем с целью ускорения расчетов.
Целью данной работы является исследование возможностей приме-
нения высокопроизводительных систем (таких как многопроцессорные вы-
числительные системы и графические ускорители) к решению задач моде-
лирования кровотока. Для выполнения данной цели поставлены следую-
щие задачи:
Таким образом в выпускной квалификационной работе были получе-
ны следующие результаты:
∙ Проведено исследование численных схем, применяемых для решения
задач для уравнений гемодинамики.
∙ Были разработаны параллельные алгоритмы решения задач и прове-
ден их анализ.
∙ Данные алгоритмы были реализованы для проведения расчетов с ис-
пользованием высокопроизводительных систем на основе CPU (с ис-
пользованием OpenMP) и GPU (с использованием CUDA), а также
изучены сложности, возникающие при реализации параллельных ал-
горитмов.
По полученным результатам можно сделать следующие выводы:
∙ Как можно видеть из полученных результатов — рассмотренные ме-
тоды позволяют достичь значительного ускорения решения подобных
задач, однако существуют различные трудности, от сложности реше-
ния которых будет зависеть целесообразность применения подобных
методов.
∙ Применение CUDA требует осуществления копирования данных в па-
мять графического процессора, а в связи с тем, что операции копиро-
вания требует расходов программного времени на их запуск, большое
их количество может привести к тому, что применение CUDA не даст
прироста производительности.
∙ Стоит учитывать особенности высокопроизводительных систем при
решении вопроса о целесообразности их применения. Так, получен-
ные результаты говорят о том, что CUDA наиболее хорошо подходит
для задач с большим числом узлов и отсутствием необходимости ко-
пировать данные между шагами вычислений, в то время как OpenMP
позволяет добиться прироста производительности на простых зада-
чах с низким числом узлов.
Последние выполненные заказы
Хочешь уникальную работу?
Больше 3 000 экспертов уже готовы начать работу над твоим проектом!