AMReX: Представление
Роб Фарбер
21 августа 2023 г.
Производительность, портативность и широкая функциональность — все это ключевые характеристики программной среды AMReX, которая была разработана исследователями Национальной лаборатории Лоуренса Беркли (Berkeley Lab), Национальной лаборатории возобновляемых источников энергии и Аргоннской национальной лаборатории в рамках Департамента энергетики США. (Делает)Проект экзафлопсных вычислений(ECP) Центр совместного проектирования AMReX.
Центр совместного проектирования ECP AMReX гарантирует, что эта популярная и широко используемая программная среда для массово-параллельных, блочно-структурированных приложений адаптивного уточнения сетки (AMR) может эффективно работать на суперкомпьютерах Министерства энергетики. Многочисленные приложения ECP используют AMReX для моделирования широкого спектра различных приложений, включая проектирование ускорителей, астрофизику, горение, космологию, многофазный поток и энергию ветра.
Чтобы справиться с таким широким спектром физических явлений, программное обеспечение должно поддерживать широкий спектр алгоритмических требований. Как отмечается в «Обзоре программных реализаций, используемых кодами приложений в проекте экзафлопсных вычислений», AMReX достигает такой переносимости платформы посредством своих API. Другие центры совместного проектирования ECP, такие как Центр эффективной экзафлопсной дискретизации (CEED) и Центр совместного проектирования приложений для частиц, также используют тот же подход для обеспечения переносимости производительности.
От процессоров к гетерогенным архитектурам
AMReX изначально был основан на более ранней платформе BoxLib, которая использовалась для разработки приложений AMR. Джон Белл (рис. 2), главный исследователь Центра совместного проектирования AMReX и старший научный сотрудник отдела прикладной математики и вычислительных исследований в лаборатории Беркли, объяснил: «Финансирование ECP позволило нам полностью перепроектировать BoxLib, который был разработан для процессоров-процессоров. только системы, чтобы создать AMReX, который обеспечивает портативную среду, поддерживающую как многоядерные процессоры, так и ряд различных ускорителей графических процессоров. AMReX в настоящее время используется множеством приложений во многих различных системах».
Для тех кодов приложений, которые уже были основаны на BoxLib, команда AMReX задокументировала, как перенести их коды из BoxLib в AMReX. (Эта документация доступна в репозитории AMReX по адресу Docs/Migration)
Белл отметил, что наряду с ускорением графического процессора «одной из ключевых конструктивных особенностей AMReX является то, что он отделяет базовые структуры данных и основные операции над этими структурами данных от алгоритмов, используемых конкретным приложением, предоставляя разработчикам гораздо больше гибкости в том, как их использовать». решить свои проблемы».
Введение технологии
Ученые используют блочно-структурированный AMR в качестве «числового микроскопа» для решения систем уравнений в частных производных (PDE). AMReX предоставляет основу для разработки алгоритмов для решения этих систем, ориентированных на машины от ноутбуков до экзафлопсных архитектур как с ускорением графического процессора, так и без него.
Ученые описывают широкий спектр физических явлений, используя PDE, которые представляют собой отношения между производными различных величин, описывающих систему. Ветер, проносящийся над горным хребтом, вибрация моста во время землетрясения и горение внутри сверхновой — все это описывается PDE. Решение PDE позволяет ученым получить представление о поведении сложных систем. Однако в большинстве случаев простого математического решения системы УЧП не существует.
Вместо этого их необходимо решать с помощью компьютера. Центральное значение для решения УЧП на компьютере имеет то, как ученый представляет систему. Одним из распространенных подходов является определение состояния системы через ее значения на конечной сетке точек. В этом типе подхода, основанного на сетке, чем тоньше сетка (т. е. чем больше точек она содержит), тем лучше представление решения. Алгоритмы AMR динамически контролируют количество и расположение точек сетки, чтобы минимизировать вычислительные затраты при решении задачи с достаточной точностью.
Как отмечено в документе «AMReX: Адаптивное уточнение сетки с блочной структурой для мультифизических приложений», алгоритмы AMR с блочной структурой используют иерархическое представление решения с несколькими уровнями разрешения (рис. 1). На каждом уровне решение определяется объединением контейнеров данных с этим разрешением, каждый из которых представляет решение в логически прямоугольной подобласти предметной области.
