Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемРоза Протасьева
1 Параллельный программный комплекс для решения задач газовой динамики в областях со сложной геометрией на современных гибридных вычислительных системах П.В. Павлухин, аспирант, мехмат МГУ; инженер, ФГУП НИИ Квант И.С. Меньшов, д.ф.-м.н., проф., мехмат МГУ; в.н.с., ИПМ РАН им. М.В. Келдыша семинар «Суперкомпьютерные технологии в науке, образовании и промышленности» 18 марта 2014 г.
2 Проблемы решения задач на суперкомпьютерах Суперкомпьютеры сегодня и завтра – с массовыми мультитредовыми архитектурами; Алгоритмы под них должны обладать достаточной простотой; Трехмерные задачи во многих случаях со сложной геометрией и, следовательно, с сетками большого размера; Для явных схем (простых для распараллеливания) это влечет уменьшение шага по времени; Размер задач растет, шаг по времени уменьшается, в результате – стремительный рост вычислительной сложности
3 Предлагаемые подходы Рассмотрим с алгоритмической точки зрения простые методы, но без жесткого ограничения шага по времени; Вместо структурированных и многоблочных сеток для GPU предпочтительнее использовать декартовы сетки; Численный метод должен позволять решать задачи со сложной геометрией, представляемой на декартовой несвязной сетке;
4 Цель работы - Декартовы сетки для геометрий любой сложности; Неявная схема интегрирования по времени; Целевая архитектура – GPU (и многоядерные процессоры) Разработка масштабируемого алгоритма и высокоэффективного программного комплекса на его основе для решения задач газовой динамики на простых сетках без жесткого ограничения на выбор шага по времени со следующими свойствами:
5 Математическая модель Стандартная постановка (Эйлерова жидкость) Альтернативная постановка с специальной правой частью – компенсационным потоком Pw – мгновенная реакция со стороны жесткой стенки
6 Метод свободной границы (FBM) – объемлющее сеточное разбиение D - твердое включение с Г = D В ячейках типа III выполняется линейное приближение Г По всем ячейкам из выполняется сквозной единообразный расчет с последующей коррекцией значений в ячейках типа III. I II III
7 Численный метод: Явная схема, устойчива с Гибридная явно-неявная схема дискретизация по пространству методом конечного объема; метод С. К. Годунова вычисления потоков на гранях ячеек; второй порядок точности по времени и пространству; Метод расщепления по физическим процессам Схема абсолютно устойчива при
8 Численный метод: Линеаризация: - Итерационная невязка Метод LU-SGS: Факторизация: Forward: Backward: - СЛАУ для определения итерационного инкремента
9 Порядок обхода ячеек расчетной области, неявная схема: if (I > J) {//сосед обсчитан... cell[I] = f1(cell[J]);... } if (I < J) {//сосед не обсчитан... cell[I] = f2(cell[J]); cell[J]+=... } I -ячейка обсчитана -ячейка не обсчитана
10 Порядок обхода ячеек расчетной области, неявная схема: if (I > J) {//сосед обсчитан... cell[I] = f1(cell[J]);... } if (I < J) {//сосед не обсчитан... cell[I] = f2(cell[J]); cell[J]+=... } I J -ячейка обсчитана -ячейка не обсчитана
11 Порядок обхода ячеек расчетной области, неявная схема: if (I > J) {//сосед обсчитан... cell[I] = f1(cell[J]);... } if (I < J) {//сосед не обсчитан... cell[I] = f2(cell[J]); cell[J]+=... } I J -ячейка обсчитана -ячейка не обсчитана
12 LU-SGS - распараллеливание Разделение работы на несколько GPU; Работа внутри одного многопоточного GPU; Особенности метода позволяют ввести 2-уровневую параллельность: Цель: создать эффективный параллельный алгоритм для неявного метода LU-SGS, в точности реализующий работу последовательного Для этого необходимо выбрать специальный порядок обхода ячеек.
13 Глобальный порядок обхода ячеек расчетной области 1. Декомпозиция расчетной области – «black» и «white» блоки: 2. Обход блоков (forward): blackwhite blackwhite - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны
14 Реализация расчетного цикла(multi-GPU) Стадия 1 black white GPU 1GPU 2 - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны Двойной периметр и внутренние ячейки разделяются на 2 множества в «шахматном» порядке. ghost cells
15 Реализация расчетного цикла(multi-GPU) Стадия 2 black white - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны GPU 1GPU 2 ? flag == 1 I II ghost cells
16 Реализация расчетного цикла(multi-GPU) Стадия 3 black white - ячейки обсчитываются - ячейки обсчитаны - ячейки еще не обсчитаны GPU 1GPU 2 ? flag == 1 I II
17 Программная реализация: 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;
18 Результаты расчетов 1D, Распределение плотности, t=0.2, 100 ячеек Modified Sods problem x density resudial iteration GPU CPU Значение невязки от числа итераций
19 Результаты расчетов Обтекание клина, М=2.12, θ=30°. Н.у. – ударная волна: до фронта p=1,ρ=1,v=0, после фронта – с условием Ренкина – Гюгонио 3D, Распределение давления, t=0.32 c, несвязная декартова сетка 600 х 400x6, метод свободной границы 2D, Распределение давления, t=0.32 c, связная декартова сетка 300 х 200
20 Результаты расчетов 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.
21 Результаты расчетов 2D, Обтекание цилиндра, M=2, Re=510^4, 1024x1024 Isodensity lines Free Boundary Method (32 GPU) Penalisation Method Fluent (unstructured)
22 Результаты расчетов 2D, Обтекание группы цилиндров, M=3, Re=510^4, 1024x1024, t=0.5 Numerical Schlieren Free Boundary Method (32 GPU) Penalisation Method
23 DLR F6, компоновка: Результаты расчетов Фюзеляж Крыло Пилон Гондола Ручное построение геометрии – до 1.5 месяцев
24 Результаты расчетов DLR F6, расчетная сетка - 332x270x914 (80 млн ячеек) Автоматическое построение - пересекаемая ячейка - внутренняя ячейка
25 Результаты расчетов Коэффициент подъемной силы, эксп CL=0.6 3D, Обтекание DLR F6, M=0.75,α=0.03, 80 млн ячеек, t=30000 Pressure & streamlines Density 117 GPU, 30 часов
26 Масштабируемость, 2D Суперкомпьютер К100, ИПМ им М.В. Келдыша Эффективность – 80% на 64 GPU
27 Масштабируемость, 3D 150 млн ячеек, 1 шаг по времени (взаимодействие ударной волны и погран слоя) Суперкомпьютер «Ломоносов», МГУ им М.В. Ломоносова Эффективность – 75% на 768 GPU
28 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)
29 Выводы Построен параллельный алгоритм для метода LU-SGS, доказана его корректность и эквивалентность последовательной версии; Реализован эффективный программный комплекс на основе параллельной версии LU-SGS c использованием метода свободной границы и декартовых сеток для расчета задач газовой динамики на multi-GPU системах; Предварительные результаты показали корректность работы программного комплекса и его хорошую масштабируемость на системах петафлопного уровня; Проведено численное моделирование ряда задач аэродинамики;
30 Планы Учет вязких диссипативных эффектов; Решение сопряженных задач газовой динамики и механики твердого тела; Оптимизация решателя под современные и будущие архитектуры GPU; Оптимизация удаленной обработки данных (remote client - cluster), real-time визуализация расчетов;
31 Спасибо за внимание!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.