г. Новосибирск, 15-17 октября 2012 г.

Сапетина А.Ф.  

Разработка алгоритмического и программного обеспечения для моделирования вулканических структур на гибридном кластере

Численное моделирование распространения сейсмических волн в сложно построенных упругих неоднородных средах проводится на основе решения полной системы уравнений теории упругости с соответствующими начальными и граничными условиями, записанной в терминах вектора скоростей смещений и тензора напряжений. В качестве области моделирования рассматривается изотропная 3D неоднородная сложно построенная упругая среда, представляющая собой параллелепипед, одна из граней которого является свободной поверхностью (плоскость z = 0).
Рассматриваются нулевые условия в качестве начальных условий и граничных условий на свободной поверхности. Предполагается, что параметры упругой среды (параметры Ламе, плотность) зависят от трех пространственных переменных X, Y и Z. Метод решения поставленной задачи основан на использовании конечно-разностного метода. Используется явная конечно-разностная схема, имеющая второй порядок аппроксимации по времени и пространству. Пока что рассматриваются только равномерные сетки.
Караваевым Д.А. были разработаны  и обоснованы методы численного моделирования сейсмических полей для 3D сложно построенных сред, характерных для грязевых вулканов. Им же разработан инструментарий для решения прикладных задач численного моделирования сейсмических полей, включающий построитель 3D моделей неоднородных упругих сред и параллельную программу для численного моделирования распространения упругих волн, реализованную на кластерах с MPP-архитектурой, c использованием технологий MPI и OpenMP. Более подробную информацию можно найти в работах [1, 2].
Стоит отметить консервативность в развитии алгоритмов по сравнению  с современными вычислительными системами,  которые развиваются быстрее. Потому возникает проблема подстройки алгоритмов под архитектуру.
В последние несколько лет стали активно применять графические процессоры  для вычислений общего назначения. Их современная архитектура позволяет эффективно выполнять вычисления с высокой степенью параллелизма. В начале 2012 года в ССКЦ при ИВМиМГ СО РАН запущен гибридный кластер с графическими процессорами NVidia Tesla M2090. Также подобный вычислительный комплекс функционирует на базе Информационно-вычислительного центра НГУ.
Для численного моделирования распространения упругих волн в трехмерно неоднородных упругих средах, используя разностную схему, мною была разработана программа, использующая одну графическую карту. Она включена в программный комплекс, решающий эту же задачу и ориентированный на использование всех узлов гибридного кластера ССКЦ ИВМиМГ СО РАН.  Распараллеливание программы производилось с помощью технологии CUDA для осуществления вычислений на графических картах. Для расчетов разработанной программе требуется набор входных файлов с информацией о моделируемой среде. Результатом работы программы является набор бинарных файлов, содержащих снимки волнового поля в различных плоскостях сечений трехмерной модели.
Для использования архитектуры  ССКЦ при ИВМиМГ СО РАН при решении поставленной задачи, предложенным конечно разностным методом, вычислительные мощности могут распределяться следующим образом. Для распараллеливания данной задачи  используется декомпозиция области на слои вдоль направления одной из координатных осей. Каждый слой рассчитывается на отдельном узле, где в свою очередь он разбивается ещё на три подслоя вдоль той же координатной оси, по числу графических карт на узле. При реализации этого метода каждая графическая карта рассчитывает свою сеточную область на каждом временном шаге (используя разработанную мною программу) независимо от других, за исключением точек, находящихся на границе между двумя соседними областями. Эти точки являются общими для каждой из областей и для продолжения счета необходимо производить обмен информацией об искомых величинах между «соседями». Обмены производятся при помощи технологии MPI (Message Passing Interface).  При этом на каждой графической карте параллельная часть кода выполняется как большое количество нитей. Такой гибридный метод обеспечивает высокую степень параллелизма.
Для оптимизации работы программы используются константная память GPU. Также мною были проведены сравнительные тесты для того что бы подобрать оптимальные параметры сетки блоков и блоков нитей для запуска вычислений на GPU. Проведен анализ полученных данных и выделены основные зависимости времени работы программы от параметров сетки блоков и блоков нитей.
Получено ускорение во времени работы программы использующей GPU, по сравнению с аналогичной программой, использующей один CPU более чем в 10 раз.


Литература
1. Д.А.Караваев Параллельная реализация метода численного моделирования волновых полей в трехмерных моделях неоднородных сред // Вестник Нижегородского университета им. Н.И. Лобачевского, 2009, № 6 (1), с. 203–209
2. Б.М.Глинский, Д.А.Караваев, В.В.Ковалевский, В.Н.Мартынов Численное моделирование и экспериментальные исследования грязевого вулкана «Гора Карабетова» вибросейсмическими методами //Вычислительные методы и программирование. 2010. Т. 11, Москва, с.95-104.

Научный руководитель:  д.т.н., проф. Б.М. Глинский

 

Тезисы доклада:abstracts_138100_ru.pdf
Файл с полным текстом: Sapetina_proc.pdf


К списку докладов

Комментарии

Имя:
Код подтверждения: