299c622ce585d8d1090cc016bb1777d9.ppt
- Количество слайдов: 33
Супер. Компьютерные ТЕхнологии для Математического Моделирования задач аэродинамики и аэроакустики в комплексе программ NOISEtte Т. К. Козубская Институт прикладной математики им. М. В. Келдыша SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 1
Соавторы И. В. Абалакин с. н. с. , к. ф. -м. н. , ИПМ РАН А. В. Горобец с. н. с. , к. ф. -м. н. , ИПМ РАН С. А. Суков н. с. , к. ф. -м. н. , ИПМ РАН А. П. Дубень ½ м. н. с, ИПМ РАН; аспирант, МГТУ СТАНКИН П. А. Бахвалов аспирант, МФТИ Сектор вычислительной аэроакустики http: //aeroacoustics. imamod. ru SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 2
Содержание Введение Исследовательский комплекс программ NOISEtte. Общая характеристика. Особенности. Суперкомпьютерные технологии, реализованные в NOISEtte Примеры решаемых задач Заключение SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 3
Введение Исследовательский комплекс программ (in-house code) Отличие от коммерческого пакета Как правило, более современные солверы Меньше технологических «хитростей» Как правило, «спартанский» пользовательский интерфейс Цели и задачи наука разработка новых моделей, методов и алгоритмов, технологий образование обучение студентов и аспирантов промышленность решение прикладных задач, обеспечение вычислительного эксперимента Комплекс программ NOISEtte для расчета задач аэродинамики и аэроакустики - пример исследовательского кода. Развитие началось около 10 лет назад, активно разрабатывается последние 5 лет SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 4
Структура Комплекс программ NOISEtte для математического моделирования задач аэродинамики и аэроакустики Разработан в ИММ / ИПМ им. М. В. Келдыша РАН, при участии INRIA, Sophia-Antipolis, Франция Постановка задачи Работа с сетками Параллельные средства для измельчения, декомпозиции, построения коммуникационной схемы, операторов перехода … Параметры схемы, моделей, граничных условий, средних полей, начальных данных, источников, выдачи результатов, … Вычислительное ядро Обработка данных Распределенное хранение, параллельная обработка сверхбольшого объема данных, анализ динамических данных, Фурье-анализ, визуализация… Ввод-вывод Платформонезависимая подсистема ввода/вывода, рестарты, средние поля, моментальные поля, эволюция во времени, диагностическая информация … SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 5
Общие сведения: сетки, модели, алгоритмы, … Вычислительное ядро Сетки Неструктурированные треугольные и тетраэдральные (до миллиарда элементов); структурированные как подмножество Математические модели ● Уравнения Эйлера/Навье-Стокса для сжимаемого газа (EE, NSE) Моделирование турбулентных течений ● Нелинейные уравнения для возмущений (NLDE) • DNS – различные формулировки • RANS (SRANS, URANS) ● Линеаризованные уравнения Эйлера/Навье-Стокса (LEE, LNSE) • LES ● Осредненные уравнения Рейнольдса (RANS) • гибридные RANS-LES подходы (DES, DDES) с моделью турбулентности Спаларта-Аллмараса ● Моделирование крупных вихрей (LES) ● Гибридная RANS-LES модель – моделирование отсоединенных вихрей ((D)DES) ● Модель Ффокса-Уильямса-Хоккингса для дальнего акустического поля ● Модель SNRG для моделирования поля скорости синтетической турбулентности Численные методы ● EBR (Edge-Based Reconstruction) схемы повышенной точности – для всех моделей ● Явный метод Рунге-Кутты 4 го порядка и его линейная версия произвольно высокого порядка точности ● Неявный метод 2 го порядка точности интегрирования по времени, основанный на линеаризации по Ньютону с блочными линейными солверами (методы верхней релаксации (SOR) и сопряженных градиентов (Bi. CGStab)) ● Предобуславливатель Туркеля для маломаховых течений ● Неотражающие граничные условия (характеристические, на основе расщепления потока, «входные» и «излучательные» условия К. Тама) Параллельная реализация ● SMP системы (Open. MP), MPP системы (MPI), гибридные системы (MPI + Open. MP), гетерогенные компьютеры (Open. CL) Языки программирования ● FORTRAN 95 ● С++ SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 6
Состав инфраструктуры для работы с сетками Параллельное средство для разбиения неструктурированной сетки • На основе библиотек METIS, Par. METIS Параллельное средство для равномерного измельчения сетки • Построение последовательности сеток с операторами перехода • Сглаживание твердых поверхностей Построение коммуникационной схемы для заданной ширины интерфейса Средство для построения буферной зоны для периодических Г. У. (топологическое замыкание) Построение блочно-структурированных сеток с автоматической сшивкой блоков Построение 3 D сетки по базовой 2 D сетке Посредством вытягивания призматических элементов и разбиением на тетраэдры Конвертеры сеточных форматов SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 7
Состав инфраструктуры ввода/вывода Средства визуализации • На всей сетке и неогрубленных подобластях • На огрубленных сетках (с использованием операторов перехода) • На заданных поверхностях и сечениях Обработка и распределенное хранение результатов • Динамические данные в контрольных точках • Динамические данные на контрольных поверхностях • Динамические контрольные параметры – подъемная сила, сопротивление, и т. д. • Статистика первого порядка – осредненные поля течения • Статистика второго порядка – тензор рейнольсовых напряжений, и т. д. • Моментальные поля течения Конвертеры сеточных форматов Платформонезависимая подсистема ввода-вывода Модульная система постановки задачи • Задача разделяется на блоки – NMS, ID, MF, REF, BC, SRC, ES, IO, VIS, HIST, TURB, IMPL, PAR, GEOM, FF • Встроенные возможности для свободного порядка именованных параметров. • Значения по умолчанию позволяют не задавать параметры без необходимости SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 8
Среда разработки Управление версиями – Subversion IDE – MVS 2008, 2010; Code: : Blocks Средства отладки – MVS, Intel Parallel Studio Средства тестирования – внутренняя функциональность для модульного тестирования Набор “микротестов” для автоматизированного контроля корректности Выполняется только 1 шаг по времени на контрольных тестах и сравниваются результаты Набор верификационных тестов для более полной проверки Расчеты выполняются полностью для проверки правильности конечного решения Профилирование – внутренние инструментальные средства Встроенная система таймирования с высоким разрешением для множественных каналов, идентифицируемых по текстовым меткам. Позволяет проводить измерения для каждой нити/процесса, собирать статистику в параллельном режиме и, таким образом, измерять сбалансированность загрузки. Документация для разработчиков и пользователей, описание мат. моделей, правила работы с кодом, КМБ. Средства визуализации – Tecplot, Origin SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 2011 9
Основные особенности NOISEtte Переносимость Может работать на различных системах от рабочих станций до суперкомпьютеров, Windows, Linux, …, прямой/обратный порядок байтов, MPI, Open. MP, MPI+Open. MP, Open. CL*. Автономность Может работать без дополнительных библиотек Высокая степень параллелизма Рассчитан на системы с 105 процессорных ядер и более Совмещенное ядро для 2 D/3 D расчетов Предназначен для фундаментальных исследований Возможность использование подробных сеток с числом тетраэдров более миллиарда, программная реализация позволяет легко добавлять новые модели и численные методы Может применяться для промышленных приложений Неструктурированные сетки позволяют работать со сложной геометрией Обратная совместимость • Параметры задаются набором файлов со свободным порядком значений • Значения по умолчанию для пропущенных параметров SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201110
Тесты на суперкомпьютере Ломоносов до 12800 ядер Двухуровневое распараллеливание MPI+Open. MP MPI работает на первом уровне, Задача “струя, набегающая на цилиндр” Тесты выполнены на примере реальной задачи об обтекании цилиндра дозвуковой струей. Open. MP работает на втором уровне – внутри узлов, Сетка 16 M узлов, 100 M тетраэдров, 4 -шаговый явный метод Runge-Kutta 4 -го порядка по времени, обеспечивая распараллеливание на многопроцессорных узлах схема повышенного порядка по пространству. в рамках модели с общей памятью. Ускорение (нормализованное по 64 ядрам) объединяя группу параллельных процессов, запущенных на разных узлах суперкомпьютера. Ускорение Open. MP: число MPI процессов фиксировано 128, число Open. MP нитей меняется от 1 до 8. Ускорение MPI, 8 Open. MP нитей. (логарифмическая шкала) Характерное время вычислений: 26. 8 сек. на шаг по времени на 64 ядрах, 0. 175 сек. на 12800, нормализованное ускорение 152. 6. SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201111
Тесты на суперкомпьютере Ломоносов до 30 тысяч ядер Сетка 16 миллионов узлов / 100 млн. тетраэдров Сетка 1. 5 миллиарда контрольных объемов Схема с центрами в элементах Ускорение (нормализованное) Схема с центрами в узлах повышенного порядка Ускорение MPI, 8 Open. MP нитей Характерное время вычислений: 0. 4 сек. на шаг по времени на 1000 ядрах, 0. 02 сек. на 29600, нормализованное ускорение 19. 6, параллельная эффективность 67%. SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201112
Двухуровневое MPI+Open. MP распараллеливание MPI подобласти разбиваются далее Возможны различные варианты избежать пересечения: для Open. MP 2. Наложение вычислений Каждая нить обрабатывает внутренние элементы, и интерфейсные элементы, имеющие узлы, принадлежащие нити. Нить пишет результаты только для своих узлов. Репликация данных Интерфейсные элементы также распределяются между нитями, каждая нить пишет результаты в свой отдельный массив по узлам, затем главная нить суммирует результаты. 4. ● Элементы сетки, содержащие узлы из разных наборов становятся интерфейсными Последовательная обработка интерфейсных элементов Каждая нить обрабатывает только свои внутренние элементы, а главная нить затем обрабатывает интерфейсные. 3. ● Узлы сетки каждой MPI подобласти разделяются на Pt наборов 1. Потактовое вычисление Элементы делятся на группы, не имеющие пересечений Вариант 1 Вариант 2 Вариант 3 Разбиение 2 -го уровня SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201113
Расширение параллельной модели Узлы суперкомпьютера становятся гетерогенными “обычный” компьютер “гетерогенный” компьютер ● Узлы суперкомпьютера объединяются с помощью MPI в рамках модели с распределенной памятью и MIMD параллелизма ● Open. MP обеспечивает распараллеливание внутри многопроцессорного узла в рамках модели с общей памяти и того же MIMD параллелизма ● Open. CL задействует GPU устройства, в которых также используется SIMD параллелизм на уровне потоковых процессоров. SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201114
Использование графических процессоров Выбор средства разработки Программа для гетерогенной системы состоит из кода для CPU – host кода и кода для GPU – kernel кода, другими словами вычислительных ядер Рассматривались следующие средства: ● CUDA - Compute Unified Device Architecture Является наиболее популярным средством в настоящее время. Может применяться только на оборудовании NVidia ● Open. CL - Open Computing Language Позволяет использовать оборудование как NVidia, так и ATI (AMD) Выбран Open. CL для обеспечения переносимости Тестовая реализация алгоритма была выполнена и на CUDA и на Open. CL для сравнения По производительности версия на Open. CL не уступила CUDA версии в тестах на NVidia Tesla C 1060 Модель памяти Open. CL SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201115
Алгоритм для тестовой реализации Применение GPU исследуется на упрощенном, но репрезентативном примере ● Математическая модель - система безразмерных уравнений Эйлера ● Дискретизация по пространству - конечно-объемный метод с центрами в элементах сетки ● Сетки – неструктурированные гибридные (от тетраэдров до гексаэдров) ● Тестовая задача - сверхзвуковое обтекание сферы (число Маха равно 2. 75) Тетраэдральная сетка: 79 608 узлов, 472 114 элементов, 942 088 внутренних граней расчетных Картина течения SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201116
Адаптация программных алгоритмов к GPU Вычисление потоков через грани контрольных объемов Поток через общую грань ячеек i и j суммируется по схеме Роу в массивы потоков по ячейкам, которые далее используются для нахождения значений газодинамических переменных на новом слое по времени. Если параллельно вычислять потоки через грани между ячейками i - j и i - k, то возникнет ошибка при одновременном суммировании потоков для ячейки i двумя разными нитями Проблема была решена двумя способами: ● вычисление потоков с репликацией данных и суммирование по графу связей Посчитанные потоки записываются в дополнительный массив по граням, а затем суммируются в массив по узлам. ● потактовым вычислением потоков К дуальному графу сетки применяется алгоритм раски ребер для разделения множества ребер на подмножества, в которых каждый из узлов встречается не более одного раза. Пример подмножества Декомпозиция на восемь тактов SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201117
Производительность вычислений на GPU Оборудование CPU ● Intel Xeon E 5504 2. 0 GHz ● Intel Xeon X 5670 2. 93 GHz Кластер ИММ 4 Суперкомпьютер К 100 GPU ● NVidia Tesla C 2050 (K 100) ● NVidia Tesla C 1060 515 GF ● NVidia Ge. Force GTX 470 (ИММ 4) ~ 80 GF (НИИСИ) Суперкомпьютер К 100 (www. kiam. ru) ~ 125 GF ● ATI Radeon 5870 (НИИСИ) 544 GF ● AMD Radeon 6970 (НИИСИ) 675 GF Вычислительный стенд НИИСИ РАН SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201118
Производительность вычислений на GPU Измерение производительности на тестовой задаче ● Измерялось время вычислений на GPU и CPU с помощью таймирования с высоким разрешением Измерения усреднялись на интервале 100 шагов по времени ● Замеры выполнены для всего шага по времени и для отдельных операций: • расчет потоков через грани контрольных объемов • суммирование потоков с граней в ячейки • граничные условия (ГУ) • переход на новый временной слой по схеме Рунге-Кутты (Р-К) ● Программа запускалась на одном CPU ядре и одном GPU устройстве ● Все вычисления - для чисел с плавающей точкой двойной точности (double, 64 бита) Время вычислений на шаг по времени (сек. ) на GPU и CPU Операция Intel Xeon E 5504 2. 0 GHz Intel Xeon X 5670 2. 93 GHz NVidia C 1060 NVidia GTX 470 NVidia C 2050 ATI Radeon 5870 AMD Radeon 6970 Расчет потоков 0. 255 0. 172 0. 0095 0. 0053 0. 0056 0. 0041 0. 0031 Суммирование --- 0. 0043 0. 0033 0. 0026 0. 0030 0. 0022 ГУ 0. 0011 0. 0008 0. 00045 0. 00021 0. 0003 0. 0004 0. 00028 Р-К 0. 029 0. 022 0. 0015 0. 00103 0. 0014 0. 0016 0. 0019 Всего 0. 285 0. 195 0. 0157 0. 00984 0. 0099 0. 0091 0. 0075 SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201119
Производительность вычислений на GPU ● На АMD получена более высокая производительность хотя С 2050 примерно в 10 раз дороже Сравнение CPU и GPU на тестовой задаче ● Замена переменных на константы в Open. CL Компиляция выч. ядер выполняется в режиме runtime CPU программы, поэтому размеры массивов и различные коэффициенты дописываются в исходный код ядер как #define константы. Это дало выигрыш около 5%. ● Минимизация числа операций деления На CPU разница в скорости между умножением и делением сказывается намного меньше, чем на GPU ● Добавление директивы #pragma unroll
Перенос вычислений на GPU Минимальные требования: ускорение хотя бы в 10 -20 раз по сравнению с CPU ядром NVidia Fermi стоит ~2 K E, 6 -ядерный Xeon ~600 E разница ~20 раз в стоимости Fermi ~300 Вт, 6 -ядерный Xeon ~15 Вт на ядро разница ~20 раз по энергопотреблению GPU от AMD стоит ~200 E, но все равно ~200 Вт. Мин. конфигурация кода Схема с центрами в элементах GPU часть только начала работать, пока ускорение 7 -8 раз Ускорение 20 -40 раз Схема с центрами в узлах Заканчивается работа по версии на C++ MPI+Open. MP+Open. CL Переносимый код, который работает на всем: Windows, Linux, рабочие станции, кластеры, суперкомпьютеры, гетерогенные системы на GPU NVidia и AMD (ATI)…. SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201121
Задачи, решаемые в настоящее время 1. Численное моделирование взаимодействия турбулентной струи с поперечно расположенным круглым цилиндром бесконечной длины Модели: DNS, implicit LES, DDES Грант РФФИ_офи, совместные исследования с ЦАГИ, Москва 2. Численное исследование ячеек звукопоглощающих конструкций (ЗПК) Модели: DNS, DDES Договор с ОАО «Авиадвигатель» , Пермь 3. Численное моделирование турбулентного течения вокруг обратных уступов и выемок (дозвуковые и сверхзвуковые режимы) Модели: DES, DDES Грант РФФИ, работы с ОАО «ОКБ Сухого» и ЦНИИМаш, Москва 4. Задачи проекта 7 -ой рамочной программы Евросоюза VALIANT* 4. 1 Численное моделирование акустических полей течения при взаимодействия турбулентного течения с зазором в механизации крыла 4. 2 Численное моделирование акустических полей течения при обтекании турбулентным потоком системы двух цилиндров с квадратным сечением под разными углами атаки (имитация стоек шасси) Модели: DES, DDES 5. 6. 6. 7. Солверы и тестовые задачи для пакета LOGOS Договорные работы с РЦЯФ-ВНИИЭФ, Саров Тестовые задачи по внешним течениям вокруг профилей Совместные работы с МФТИ, ФАЛТ и ОКБ «Камов» *VALIANT – VALidation and Improvement of Airframe Noise prediction Tools SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201122
Исследования звукопоглощающих конструкций авиадвигателей SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201123
Расчеты по звукопоглощающим конструкциям (ЗПК) авиадвигателей Совместные с ОАО “Авиадвигатель”, Пермь, исследования ЗПК Моделируется прохождение акустической волны в канале с перфорированной ячейкой ЗПК На вход подается широкополосный шум и измеряется коэффициент прохождения сигнала Вид сверху Вид сетки 3. 4 М узлов / 20 М тетраэдров для конфигурации ячейки с 11 отверстиями Вид сбоку Характеристики прохождения сигнала для полосы частот Вихревые кольца, возникающие в горле резонатора Схема расчетной области для перфорированной ячейки Сетка в области отверстия SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201124
Конфигурация перфорированной ячейки с 11 отверстиями Визуализация течения в отверстиях ЗПК панели прохождении акустической волны Сетка: 3. 4 млн. узлов, 20 млн. тетраэдров, 256 CPU, МВС-100 К и Кант (Калининград) Вид сверху Вид сбоку Показано поле плотности в центральном сечении трехмерной расчетной области вдоль оси волновода, прохождение акустических волн и возникновение турбулентного течения через отверстия ячейки ЗПК SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201125
Совместные с ЦАГИ исследования модельной конфигурации “струя, набегающая на цилиндр”, имитирующей обтекание стойки шасси самолета Поле модуля скорости, вид сверху Воспроизводятся механизмы генерации аэродинамического шума при обтекании шасси самолета. Вид сверху Расчеты и соответствующие эксперименты, выполненные в ЦАГИ, нацелены на определение позиции источников шума в турбулентном следе за цилиндром. Поле модуля скорости, вид сбоку ● Параметры задачи Число Маха: М=0. 206 Число Рейнольдса: Re = 14000 Размер сетки: до 16 млн. узлов, 100 млн. Вид сбоку тетраэдров Неструктурированная адаптированная Период интегрирования по времени: 1700 тетраэдральная сетка Количество контрольных точек: 1400 Задействовано процессоров: до 12800 Поле завихренности, вид сбоку Изоповерхности модуля скорости Расположение массива контрольных точек в следе за цилиндром SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201126
Визуализация течения, имитирующего обтекание стойки шасси самолета Сетка: 9 млн. узлов, 55 млн. тетраэдров, 1024 процессора, суперкомпьютер Ломоносов Показано поле модуля скорости и поле завихренности SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201127
Взаимодействие турбулентности с зазором в конструкции планера Исследуется один из основных источников аэродинамического шума Вид сверху Турбулентная вязкость в центральном сечении Вид сбоку Изоповерхности турбулентной вязкости Схема расчетной области SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201128
VALIANT 1: Визуализация турбулентного течения в зазоре Сетка: 5. 5 млн. узлов, 32 млн. тетраэдров, 256 CPU, Ломоносов, К 100 Вид сверху Вид сбоку Показано поле модуля скорости, турбулентной вязкости и энтропии SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201129
VALIANT 1: Взаимодействие турбулентности с двумя стойками Воспроизводятся механизмы возникновения аэродинамического шума при обтекании стоек шасси самолета Вид сверху Вид блочной тетраэдральной сетки (огрубленной в 8 раз) Схема расчетной области Моментальная картина течения центральное сечение SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201130
VALIANT 2: Визуализация течения вокруг двух стоек Сетка: 9. 5 млн. узлов, 60 млн. тетраэдров, 1024 CPU, суперкомпьютер Ломоносов Вид сбоку Показано поле модуля скорости, турбулентной вязкости и энтропии SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201131
Заключение Что есть? Достаточно сильный, постоянно развиваемый исследовательский код, технологически пригодный приложений. Конкурентоспособный даже на мировом уровне. Область приложений Задачи, связанные с высокоскоростными течениями. В основном, приложения в авиационной промышленности Полигон для разработки новых моделей, методов и алгоритмов? - Да Полигон для разработки новых технологий параллельных вычислений и проведения крупномасштабных расчетов? - Да Нужен для образовательного процесса? - Да Нужен ли код или расчеты с его помощью промышленности? - Казалось бы, да … SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201132
SCTe. MM 2012, Yakutsk, Russia, November 28 -30, 201133