Новая параллельная стратегия борьбы с турбулентностью на Summit


Турбулентность, состояние беспорядочного движения жидкости, представляет собой очень сложную научную головоломку. Турбулентность пронизывает множество приложений в науке и технике, включая горение, перенос загрязнителей, прогнозирование погоды, астрофизику и многое другое. Одна из проблем, с которыми сталкиваются ученые, моделирующие турбулентность, заключается в широком диапазоне масштабов, которые они должны уловить, чтобы точно понять это явление. Эти масштабы могут охватывать несколько порядков, и их трудно уловить в условиях ограничений доступных вычислительных ресурсов.

Высокопроизводительные вычисления могут противостоять этой задаче в сочетании с правильным научным кодом; но моделирование турбулентных потоков при масштабах задач, выходящих за рамки современного уровня техники, требует нового мышления в сочетании с первоклассными гетерогенными платформами.

Команда под руководством П. К. Йенга, профессора аэрокосмической техники и машиностроения Технологического института Джорджии, выполняет прямое численное моделирование (DNS) турбулентности с использованием нового кода своей команды — графических процессоров для моделирования турбулентности экстремального масштаба (GESTS). DNS может точно фиксировать детали, возникающие в широком диапазоне масштабов. Ранее в этом году команда разработала новый алгоритм, оптимизированный для суперкомпьютера IBM AC922 Summit в Oak Ridge Leadership Computing Facility (OLCF). С новым алгоритмом команда достигла производительности менее 15 секунд времени настенных часов за один временной шаг для более чем 6 триллионов точек сетки в пространстве — новый мировой рекорд, превосходящий предыдущий уровень техники в этой области. размер проблемы.

Ожидается, что моделирование, которое команда проводит на Summit, прояснит важные вопросы, касающиеся быстро меняющихся турбулентных потоков жидкости, которые окажут прямое влияние на моделирование реагирующих потоков в двигателях и других типах силовых установок.

GESTS — это код вычислительной гидродинамики в Центре ускоренной готовности приложений в OLCF, Управлении науки Министерства энергетики США (DOE) в Национальной лаборатории Министерства энергетики в Окридже. В основе GESTS лежит базовый математический алгоритм, который вычисляет крупномасштабные распределенные быстрые преобразования Фурье (БПФ) в трех пространственных направлениях.

БПФ — это математический алгоритм, который вычисляет преобразование сигнала (или поля) из его исходной временной или пространственной области в представление в пространстве частот (или волновых чисел) — и наоборот для обратного преобразования. Юнг широко применяет огромное количество БПФ для точного решения фундаментального уравнения гидродинамики в частных производных, уравнения Навье-Стокса, используя подход, известный в математике и научных вычислениях как «псевдоспектральные методы».

В большинстве симуляций с использованием массивного параллелизма на базе ЦП область трехмерных решений или объем пространства, в котором вычисляется поток жидкости, по двум направлениям разбивается на множество длинных «блоков данных» или «карандашей». Однако, когда команда Юнга встретилась на хакатоне OLCF GPU в конце 2017 года с наставником Дэвидом Аппельхансом, научным сотрудником IBM, у группы возникла новаторская идея. Они объединят два разных подхода к решению проблемы. Сначала они разделят 3D-домен в одном направлении, образуя ряд «блоков» данных на процессорах Summit с большой памятью, а затем распараллеливают внутри каждого блока с помощью графических процессоров Summit.

Команда определила наиболее трудоемкие части базового кода ЦП и приступила к разработке нового алгоритма, который снизил бы стоимость этих операций, расширил бы пределы максимально возможного размера проблемы и воспользовался преимуществами уникального Информационно-ориентированные характеристики Summit, самого мощного и умного суперкомпьютера в мире для открытой науки.

«Мы разработали этот алгоритм как алгоритм иерархического параллелизма, чтобы гарантировать, что он будет хорошо работать в иерархической системе», — сказал Аппельханс. «Мы размещаем до двух плит на узле, но поскольку каждый узел имеет 6 графических процессоров, мы разбили каждую плиту и поместили эти отдельные части на разные графические процессоры».

В прошлом карандаши могли быть распределены между многими узлами, но метод команды использует связь Summit на узле и большой объем памяти ЦП, чтобы разместить целые блоки данных на отдельных узлах.

«Изначально мы планировали запускать код с памятью, находящейся на графическом процессоре, что ограничило бы нас меньшими размерами проблем», — сказал Йунг. «Однако на хакатоне OLCF GPU мы поняли, что соединение NVLink между CPU и GPU настолько быстрое, что мы можем максимально использовать 512 гигабайт памяти CPU на каждый узел».

Реализация побудила команду адаптировать некоторые основные части кода (ядра) для перемещения данных GPU и асинхронной обработки, что позволяет выполнять вычисления и перемещение данных одновременно. Инновационные ядра преобразовали код и позволили команде решать проблемы гораздо более масштабные, чем когда-либо прежде, с гораздо большей скоростью, чем когда-либо прежде.

Успех команды доказал, что даже большие приложения, ориентированные на коммуникацию, могут извлечь большую выгоду из самого мощного суперкомпьютера в мире, если разработчики кода интегрируют гетерогенную архитектуру в дизайн алгоритма.

Успешное слияние

Одним из ключевых факторов успеха команды было идеальное сочетание многолетнего опыта команды Технологического института Джорджии в области науки и новаторского мышления Аппельханса и глубоких знаний о машине.

Также решающее значение для достижения имели системы раннего доступа OLCF Ascent и Summitdev и выделение миллиона узлов-часов на Summit, предусмотренное программой Innovative Novel and Computational Impact on Theory and Experiment (INCITE), совместно управляемой Argonne и Лидерские вычислительные мощности Ок-Ридж и Программа ранней науки Summit в 2019 году.

Оскар Эрнандес, разработчик инструментов в OLCF, помог команде справиться с проблемами на протяжении всего проекта. Одной из таких задач было выяснить, как запускать каждый отдельный параллельный процесс (который подчиняется стандарту интерфейса передачи сообщений [MPI]) на ЦП в сочетании с несколькими графическими процессорами. Как правило, один или несколько процессов MPI привязаны к одному графическому процессору, но команда обнаружила, что использование нескольких графических процессоров для каждого процесса MPI позволяет процессам MPI отправлять и получать меньшее количество сообщений большего размера, чем планировалось изначально. Используя модель программирования OpenMP, Эрнандес помог команде сократить количество задач MPI, улучшив коммуникационную производительность кода и тем самым увеличив скорость работы.

Киран Равикумар, докторант Технологического института Джорджии, участвующий в проекте, представит детали алгоритма в рамках технической программы конференции Supercomputing Conference 2019, SC19.

Команда планирует использовать код для дальнейшего проникновения в тайны турбулентности; они также внесут в код другие физические явления, такие как перемешивание океанов и электромагнитные поля.

«Этот код и его будущие версии предоставят захватывающие возможности для значительных достижений в науке о турбулентности, с общими представлениями о турбулентном перемешивании во многих природных и искусственных средах», — сказал Йунг.

Публикация по теме: К. Равикумар, Д. Аппельханс и П. К. Йунг, «Ускорение псевдоспектрального моделирования турбулентности в экстремальных масштабах с помощью графического процессора с использованием асинхронизма». Документ будет представлен на Международной конференции 2019 года по анализу высокопроизводительных вычислений, сетей и систем хранения данных (SC10), Денвер, Колорадо, 17-22 ноября 2019 г.


Добавить комментарий