Speaker
Nikolay Khokhlov
(Moscow Institute of Physics and Technology)
Description
В данной работе рассматривается программный комплекс для моделирования задач распространения динамических волновых возмущений в твердых телах. Численное моделирование распространения динамических волновых возмущений в твердых телах используется для решения широкого круга задач. Прежде всего это задачи сейсморазведки, сейсмики и сейсмостойкости. Численное моделирование распространения сейсмических волн представляет существенную часть работ при проведение геологоразведки в нефтяной отрасли. Математическое моделирование проводится в различных геологических средах, в том числе слоистых средах и средах с наличием различных неоднородностей (например, трещины или каверны). Задачи такого рода представляются очень ресурсоемкими с точки зрения вычислительных ресурсов. Область вычисления, как правило, представляет собой сейсмический куб с длиной ребра от 1 км до 10 км. В то же время, неоднородности могут быть размером в несколько метров. Задачи моделирования процессов сейсмостойкости также являются сильно разно масштабными. Размеры объектов и неоднородностей могут различаться в сотни и тысячи раз. Учет эффектов такого рода требует привлечения современных высопокропзводительных вычислительных систем. Комплекс работает на двумерных и трехмерных криволинейных блочных сетках с наличием неоднородностей. Для численного интегрирования применяются сеточно-характеристические и конечно-разностные схемы 2-4 порядка точности.
Целью работы было исследование применения различных современных технологий для распараллеливания используемых численных алгоритмов на высокопроизводительных вычислительных системах и их внедрение в существующий программный пакет. Код распараллелен используя технологию MPI. Реализована низкоуровневая оптимизация кода с использованием потоковых SIMD инструкций центральных процессоров SSE и AVX. В настоящее время достигнута эффективность распараллеливания до 70 % используя только технологию MPI при масштабировании до 16 тысяч вычислительных ядер. В системах с общей памятью алгоритм распараллелен используя технологию OpenMP. Реализована гибридная схема распараллеливания MPI+OpenMP. Также код распараллелен используя технологию CUDA, что дает до ускорение до 50 раз по сравнению с одним ядром CPU. Программа может использовать несколько карточек в рамках одного хоста, получены первые результаты по работе CUDA в связке с MPI.
Исследование выполнено при частичной финансовой поддержке гранта Президента РФ МК-3383.2014.9.
Primary author
Nikolay Khokhlov
(Moscow Institute of Physics and Technology)
Co-authors
Anton Dashlevich
(Moscow Institute of Physics and Technology)
Prof.
Igor Petrov
(Moscow Institute of Physics and Technology)
Mr
Vasily Golubev
(Moscow Institute of Physics and Technology)