Параллельный программный комплекс для решения задач газовой динамики в областях со сложной геометрией на современных гибридных вычислительных системах.

Презентация:



Advertisements
Похожие презентации
Адаптация комплекса программ M2DGD для работы на МВС с использованием среды параллельного программирования OST Павлухин Павел Научный руководитель: Меньшов.
Advertisements

Мортиков Е.В. 2 4 апреля 2014 г. НИВЦ МГУ М. В. Ломоносова Лаборатория суперкомпьютерного моделирования природно - климатических процессов ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ.
Дипломная работа Преснова И.М Научный руководитель Демьянович Ю. К
Стр. 1 Часть 14 – Основы метода Эйлера. Стр. 2 Часть 14 – Основы метода Эйлера СОДЕРЖАНИЕ Основные положения метода Эйлера Основы метода конечных объёмов.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
Методы интерактивной визуализации динамики жидких и газообразных сред Костикова Елена Юрьевна, 521 гр. Научный руководитель: Игнатенко Алексей Викторович.
Параллельная реализация расчета задач аэроакустики на неструктурированных сетках Кафедра: ВМ Студент: Рябинин А. А. Научный руководитель: Четверушкин Б.Н.
РАЗРАБОТКА ИНСТРУМЕНТА ОПТИМИЗАЦИИ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ Руководитель: проф. Мулярчик Степан Григорьевич.
Афонина Е. В., Вишневский Д. М., Горшкалев С. Б., Карстен В. В., Лисица В. В., Чеверда В. А. Институт нефтегазовой геологии и геофизики СО РАН, Новосибирск.
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ Кафедра вычислительной математики Лэ Тхи Тхиен Тхуи Руководитель.
М ОДЕЛИРОВАНИЕ ГАЗОВОГО ПОТОКА ЗА СОПЛОМ Кондаков В.Г. Якутск, ноября 2011 г.
Метод конечных разностей для решения уравнений динамики приливов Московский Государственный Университет имени М.В. Ломоносова механико-математический факультет.
ИСПОЛЬЗОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА ANSYS ДЛЯ РАСЧЕТА ЗАДАЧ МЕХАНИКИ ДЕФОРМИРУЕМОГО ТВЕРДОГО ТЕЛА Костырко Сергей Алексеевич СПбГУ, кафедра ВММДТ Санкт-Петербург,
Моделирование динамики твердых тел на GPU Выполнили: Гриднев Максим Машинский Леонид Присивко Вячеслав гр. 3057/2.
Реализация распараллеливания программного комплекса расчета двумерных задач газовой динамики с помощью системы OST Научный руководитель: Илюшин А. И. Колмаков.
Параллельные алгоритмы для симплициального подразделения области с итерационным измельчением вблизи границы Кафедра параллельных алгоритмов Математико-Механический.
Численное моделирование взаимодействия поверхностных волн с препятствиями Карабцев С.Н., Михайлов С.О.
Моделирование динамики твердых тел и систем связанных тел с механическими соударениями Исполнитель: ст. гр. МП-50 Дябин Е. М. Руководитель: Асоцкий Д.
Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ Учебный курс Введение в параллельные алгоритмы Якобовский.
ПОСТРОЕНИЯ СИСТЕМЫ ПРОГРАММИРОВАНИЯ ДЛЯ МВС НА ОСНОВЕ ПОНЯТИЙ «ПРОСТРАНСТВО-ВРЕМЯ». Научный руководитель: Илюшин А.И. Рецензент: Меньшов И.С. Оленин Михаил.
Транксрипт:

Параллельный программный комплекс для решения задач газовой динамики в областях со сложной геометрией на современных гибридных вычислительных системах П.В. Павлухин, аспирант, мехмат МГУ; инженер, ФГУП НИИ Квант И.С. Меньшов, д.ф.-м.н., проф., мехмат МГУ; в.н.с., ИПМ РАН им. М.В. Келдыша семинар «Суперкомпьютерные технологии в науке, образовании и промышленности» 18 марта 2014 г.

Проблемы решения задач на суперкомпьютерах Суперкомпьютеры сегодня и завтра – с массовыми мультитредовыми архитектурами; Алгоритмы под них должны обладать достаточной простотой; Трехмерные задачи во многих случаях со сложной геометрией и, следовательно, с сетками большого размера; Для явных схем (простых для распараллеливания) это влечет уменьшение шага по времени; Размер задач растет, шаг по времени уменьшается, в результате – стремительный рост вычислительной сложности

Предлагаемые подходы Рассмотрим с алгоритмической точки зрения простые методы, но без жесткого ограничения шага по времени; Вместо структурированных и многоблочных сеток для GPU предпочтительнее использовать декартовы сетки; Численный метод должен позволять решать задачи со сложной геометрией, представляемой на декартовой несвязной сетке;

Цель работы - Декартовы сетки для геометрий любой сложности; Неявная схема интегрирования по времени; Целевая архитектура – GPU (и многоядерные процессоры) Разработка масштабируемого алгоритма и высокоэффективного программного комплекса на его основе для решения задач газовой динамики на простых сетках без жесткого ограничения на выбор шага по времени со следующими свойствами:

Математическая модель Стандартная постановка (Эйлерова жидкость) Альтернативная постановка с специальной правой частью – компенсационным потоком Pw – мгновенная реакция со стороны жесткой стенки

Метод свободной границы (FBM) – объемлющее сеточное разбиение D - твердое включение с Г = D В ячейках типа III выполняется линейное приближение Г По всем ячейкам из выполняется сквозной единообразный расчет с последующей коррекцией значений в ячейках типа III. I II III

Численный метод: Явная схема, устойчива с Гибридная явно-неявная схема дискретизация по пространству методом конечного объема; метод С. К. Годунова вычисления потоков на гранях ячеек; второй порядок точности по времени и пространству; Метод расщепления по физическим процессам Схема абсолютно устойчива при

Численный метод: Линеаризация: - Итерационная невязка Метод LU-SGS: Факторизация: Forward: Backward: - СЛАУ для определения итерационного инкремента

Порядок обхода ячеек расчетной области, неявная схема: if (I > J) {//сосед обсчитан... cell[I] = f1(cell[J]);... } if (I < J) {//сосед не обсчитан... cell[I] = f2(cell[J]); cell[J]+=... } I -ячейка обсчитана -ячейка не обсчитана

Порядок обхода ячеек расчетной области, неявная схема: if (I > J) {//сосед обсчитан... cell[I] = f1(cell[J]);... } if (I < J) {//сосед не обсчитан... cell[I] = f2(cell[J]); cell[J]+=... } I J -ячейка обсчитана -ячейка не обсчитана

Порядок обхода ячеек расчетной области, неявная схема: if (I > J) {//сосед обсчитан... cell[I] = f1(cell[J]);... } if (I < J) {//сосед не обсчитан... cell[I] = f2(cell[J]); cell[J]+=... } I J -ячейка обсчитана -ячейка не обсчитана

LU-SGS - распараллеливание Разделение работы на несколько GPU; Работа внутри одного многопоточного GPU; Особенности метода позволяют ввести 2-уровневую параллельность: Цель: создать эффективный параллельный алгоритм для неявного метода LU-SGS, в точности реализующий работу последовательного Для этого необходимо выбрать специальный порядок обхода ячеек.

Глобальный порядок обхода ячеек расчетной области 1. Декомпозиция расчетной области – «black» и «white» блоки: 2. Обход блоков (forward): blackwhite blackwhite - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны

Реализация расчетного цикла(multi-GPU) Стадия 1 black white GPU 1GPU 2 - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны Двойной периметр и внутренние ячейки разделяются на 2 множества в «шахматном» порядке. ghost cells

Реализация расчетного цикла(multi-GPU) Стадия 2 black white - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны GPU 1GPU 2 ? flag == 1 I II ghost cells

Реализация расчетного цикла(multi-GPU) Стадия 3 black white - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны GPU 1GPU 2 ? flag == 1 I II

Программная реализация: for (itr=0;itr>; Gpu_slope >>; Gpu_predicval >>; Gpu_forward >>; Gpu_backward >>; Gpu_update >>; } CPU GPU RAM VRAM NODE M MPI CPU GPU RAM VRAM NODE N Cuda 4.2/5.0/5.5; Совмещенный счет и копирование в Cuda (streams) и MPI;

Результаты расчетов 1D, Распределение плотности, t=0.2, 100 ячеек Modified Sods problem x density resudial iteration GPU CPU Значение невязки от числа итераций

Результаты расчетов Обтекание клина, М=2.12, θ=30°. Н.у. – ударная волна: до фронта p=1,ρ=1,v=0, после фронта – с условием Ренкина – Гюгонио 3D, Распределение давления, t=0.32 c, несвязная декартова сетка 600 х 400x6, метод свободной границы 2D, Распределение давления, t=0.32 c, связная декартова сетка 300 х 200

Результаты расчетов 2D, Обтекание цилиндра, M=3, Re=510^4, 1024x1024, t=0.4 Numerical Schlieren Free Boundary Method (32 GPU) Penalisation Method* *O. Boirona, G. Chiavassa, R. Donat. A high-resolution penalization method for large Mach number ows in the presence of obstacles // Computers & Fluids, N 38, pp , 2009.

Результаты расчетов 2D, Обтекание цилиндра, M=2, Re=510^4, 1024x1024 Isodensity lines Free Boundary Method (32 GPU) Penalisation Method Fluent (unstructured)

Результаты расчетов 2D, Обтекание группы цилиндров, M=3, Re=510^4, 1024x1024, t=0.5 Numerical Schlieren Free Boundary Method (32 GPU) Penalisation Method

DLR F6, компоновка: Результаты расчетов Фюзеляж Крыло Пилон Гондола Ручное построение геометрии – до 1.5 месяцев

Результаты расчетов DLR F6, расчетная сетка - 332x270x914 (80 млн ячеек) Автоматическое построение - пересекаемая ячейка - внутренняя ячейка

Результаты расчетов Коэффициент подъемной силы, эксп CL=0.6 3D, Обтекание DLR F6, M=0.75,α=0.03, 80 млн ячеек, t=30000 Pressure & streamlines Density 117 GPU, 30 часов

Масштабируемость, 2D Суперкомпьютер К100, ИПМ им М.В. Келдыша Эффективность – 80% на 64 GPU

Масштабируемость, 3D 150 млн ячеек, 1 шаг по времени (взаимодействие ударной волны и погран слоя) Суперкомпьютер «Ломоносов», МГУ им М.В. Ломоносова Эффективность – 75% на 768 GPU

CUDA + MPI STALL MPI Send/Recv - RENDEZVOUS MPI MPI Send/Recv - EAGER NO STALL MPI Rendezvouz -> Eager: +30% performance! serailizing STALL MPI cudaDeviceLmemResizeToMax OFF concurent NO STALL cudaDeviceLmemResizeToMax ON (CUDA 5.0, Intel MPI 4.1.3)

Выводы Построен параллельный алгоритм для метода LU-SGS, доказана его корректность и эквивалентность последовательной версии; Реализован эффективный программный комплекс на основе параллельной версии LU-SGS c использованием метода свободной границы и декартовых сеток для расчета задач газовой динамики на multi-GPU системах; Предварительные результаты показали корректность работы программного комплекса и его хорошую масштабируемость на системах петафлопного уровня; Проведено численное моделирование ряда задач аэродинамики;

Планы Учет вязких диссипативных эффектов; Решение сопряженных задач газовой динамики и механики твердого тела; Оптимизация решателя под современные и будущие архитектуры GPU; Оптимизация удаленной обработки данных (remote client - cluster), real-time визуализация расчетов;

Спасибо за внимание!