Исследователи из Ливерморской национальной лаборатории Лоуренса (LLNL) достигли важной вехи в ускорении и добавлении функций в сложные мультифизические симуляции, выполняемые на графических процессорах (GPU), — разработка, которая может способствовать развитию высокопроизводительных вычислений и инженерии.
Пока LLNL готовится к запуску El Capitan, первого экзафлопсного суперкомпьютера Национальной администрации по ядерной безопасности, усилия команды сосредоточены на разработке MARBL, мультифизического кода нового поколения для графических процессоров. El Capitan основан на новейших процессорах AMD MI300A Accelerated Processor Units (APU), которые объединяют центральные процессоры (CPU) с графическими процессорами и памятью с высокой пропускной способностью в одном корпусе, что позволяет более эффективно распределять ресурсы.
Гетерогенная (CPU/GPU) вычислительная архитектура El Capitan, а также ожидания того, что большинство будущих суперкомпьютеров будут гетерогенными, сделали обязательным использование мультифизических кодов, таких как MARBL, которые нацелены на физику высокой плотности энергии (HED), релевантную для миссии, подобную тем, которые используются в экспериментах по инерциальному термоядерному синтезу (ICF) и в приложениях по управлению запасами — могут эффективно работать в самых разных архитектурах, говорят исследователи.
В недавней статье , опубликованной в журнале Journal of Fluids Engineering , используя возможности графических процессоров AMD MI250X в машинах раннего доступа El Capitan, исследователи успешно расширили возможности MARBL, включив в них дополнительную физику, необходимую для физики HED и моделирования термоядерного синтеза.
«Основное внимание в этой статье уделялось поддержке мультифизики — в частности, многогрупповой радиационной диффузии и термоядерного горения, которые участвуют в реакциях термоядерного синтеза — и объединению всего этого с движущейся сеткой из конечных элементов более высокого порядка для моделирования жидкости», — сказал главный следователь Роб Рибен.
«Чтобы добиться производительности графического процессора, вам нужно многое сделать с точки зрения программирования, оптимизации ядер, балансировки памяти и превращения вашего кода в код, параллельный графическому процессору, и мы смогли это сделать».
Команда Рибена с 2015 года занимается разработкой масштабируемого мультифизического приложения MARBL с графическим ускорением для моделирования физических экспериментальных платформ HED, уделяя особое внимание одновременному развитию программных абстракций и разработке алгоритмов для обеспечения производительности графического процессора.
Работа, описанная в недавней статье, необходима для решения программных задач, которые в значительной степени опираются на крупномасштабные вычислительные науки для ответа на сложные вопросы национальной безопасности, сказал соавтор Алехандро Кампос, добавив, что команда столкнулась с двумя основными проблемами при расширении возможностей MARBL. : проверка правильности реализации дополнительных физических модулей и обеспечение эффективной работы этих новых модулей при работе на машинах следующего поколения с графическим процессором.
Исследователи заявили, что команда решила эти проблемы с помощью таких методов, как новые алгоритмы решения линейных систем с предобуславливателями, которые исторически были оптимизированы для процессоров. Прорыв Центра прикладных научных вычислений (CASC) LLNL привел к созданию нового типа преобусловливателя, подходящего для графических процессоров, который был интегрирован в код и масштабирован для промышленного использования.
По словам Рибена, предварительные условия для линейных решателей сложно перенести на графические процессоры с высокой производительностью. «CASC предложил новый тип предварительной обработки, необходимый для решения уравнений диффузии, который специально разработан для обеспечения высокой производительности методов высокого порядка на графических процессорах, что позволяет нам запускать большие трехмерные мультифизические симуляции на машинах с графическими процессорами, таких как El Capitan.
«Наша работа заключалась в том, чтобы внедрить их метод в рабочий код, масштабировать его и показать, что он работает не только на тестах, но и на реальных проблемах, которые нас волнуют. Мы взяли это свежее исследование, работал с исследователями из CASC, внедрил его в наш код и выполнил всю необходимую настройку, чтобы он хорошо работал на системах с несколькими графическими процессорами», — сказал Рибен.
В статье команда сравнила традиционные подходы к распределенному ЦП с быстрыми вычислениями, обеспечиваемыми архитектурой графического процессора, и сосредоточилась на разработке программного обеспечения, которое могло бы эффективно использовать парадигму «одна инструкция/множественные данные» аппаратного обеспечения графического процессора. Мультифизический характер моделирования создал узкие места, которые усложнили задачу и могли ухудшить общую производительность и масштабируемость, если их не устранить должным образом, сообщила команда.
Исследователи заявили, что использование командой уровней абстракции переносимости производительности, таких как разработанный LLNL пакет RAJA Portability Suite и библиотека дискретизации конечных элементов MFEM, сыграло важную роль в обеспечении возможности использования единого исходного кода MARBL для нескольких архитектур GPU/CPU.
«В этой статье мы концентрируемся на графических процессорах AMD, потому что мы можем использовать другие библиотеки переносимости производительности с открытым исходным кодом, разработанные здесь, такие как RAJA», — сказал соавтор Том Ститт. «Хотя необходимо было внести некоторые изменения, специфичные для AMD, их было не так уж много, и они не заняли много времени, поэтому запуск нашей стратегии переносимости производительности — это победа».
Ститт добавил, что для того, чтобы заставить MARBL работать на нынешнем флагманском процессоре/графическом процессоре LLNL Sierra, потребовалось около шести лет сотрудников, тогда как для достижения производительности в системах раннего доступа El Capitan при 18-кратном повышении производительности потребовалось около четырех месяцев.
«Если бы нам пришлось снова потратить эти шесть лет на эту новую платформу, мы бы не добились успеха; мы бы все еще работали над ней», — сказал Ститт. «Наши успехи в кодировании показывают, что RAJA Portability Suite — очень жизнеспособный вариант для написания кодов, которые будут работать с архитектурами ЦП и графических процессоров, а также с различными поставщиками графических процессоров».
По словам Ститта, помимо RAJA, Umpire — программный интерфейс, который помог облегчить ограничения памяти в Sierra — также помог улучшить коды для El Capitan. Поскольку у El Capitan будет в восемь раз больше памяти на узел, чем у Sierra, исследователи смогут решать гораздо более серьезные задачи на одном узле и воспользоваться преимуществами параллелизма, который могут обеспечить APU AMD, говорят исследователи.
«MI300A — это следующая эволюция графических процессоров AMD, и поэтому мы очень рады возможности проводить моделирование с использованием этих ресурсов», — сказал соавтор Алехандро Кампос. «Мы полагались на различные библиотеки, разработанные в LLNL, такие как MFEM, RAJA, Umpire и другие, чтобы абстрагировать часть работы, связанной с переносимостью производительности, и поэтому мы надеемся, что переход MARBL на новые процессоры поможет быть как можно более прямолинейным».
Соавтор Аарон Скиннер сказал, что предыдущие методы запуска MARBL на машинах с процессором оказались сложными из-за различий в архитектуре. Признавая эти ограничения, Скиннер работал с другими исследователями CASC над разработкой кода и усовершенствований алгоритмов, подходящих для графических процессоров, и эта попытка успешно принесла пользу нескольким физическим модулям.
«Мы уже давно знаем, что нам нужны безматричные методы для повышения производительности графических процессоров, но наши лучшие линейные решатели с трудом поддаются этому формализму, если вообще поддаются», — сказал Скиннер.
«С помощью CASC мы потратили много времени на внедрение и оптимизацию этих безматричных методов, которые действительно окупились, поскольку одни и те же линейные решатели можно использовать во многих различных типах модулей, включая диффузию излучения, теплопроводность и альфа-модули. -диффузия частиц. Наш подход использует комбинацию оптимизации кода и алгоритмической реструктуризации для повышения производительности наших линейных решателей, которые, как правило, составляют основную часть вычислительной нагрузки».
Исследователи заявили, что успешное ускорение графического процессора для MARBL представляет собой шаг вперед в области высокопроизводительных вычислений и может иметь серьезные последствия не только для El Capitan, но и для вычислительной науки в целом.
Улучшение переносимости производительности повысит гибкость, в то время как развитие ускорения графического процессора может привести к более эффективному и точному моделированию реальных научных проблем в физике высокой плотности энергии, включая термоядерную энергию, приводимую в действие лазерами или импульсной энергией, а также коды для аэрокосмической и автомобильной техники, материаловедения. , климат, биологические применения и другие сложные явления.
«Переносимость производительности таких кодов, как MARBL, позволит проводить симуляции, которые дают ответы гораздо быстрее, или симуляции, которые раньше были слишком дорогими для выполнения даже на крупнейших суперкомпьютерах, поскольку это позволяет беспрепятственно использовать различное оборудование графических процессоров без необходимости использования обширного аппаратного обеспечения». конкретное портирование», — сказал Кампос.
В статье команда провела исследования масштабирования ключевых физических задач, чтобы продемонстрировать успех своего подхода на различных вычислительных архитектурах, продемонстрировав потенциал ускорения графического процессора для мультифизического моделирования методом конечных элементов высокого порядка и подчеркнув универсальность и адаптируемость их подход к переносимости производительности.
«Тот факт, что у нас есть единый исходный код, который может работать с несколькими графическими процессорами от разных производителей, — это действительно большое событие», — сказал Рибен. «В лабораториях Министерства энергетики одним из наших принципов было то, что мы не можем позволить себе быть привязанными к конкретному поставщику. Это заложено в том, как мы разрабатываем наше программное обеспечение, поэтому для нас это большая победа. Это большой мультипликатор с точки зрения иметь возможность запускать код на максимально возможном количестве платформ».
Исследователи заявили, что им удалось решить проблемы с MARBL на машинах El Capitan с ранним доступом, в которых интегрированные процессоры/графические процессоры делят одно пространство памяти примерно в два раза быстрее, чем Sierra, и стремятся достичь коэффициента в пять или более раз выше, чем у El Capitan. передовые APU MI300 и в 15–20 раз больше, чем у нынешних самых быстрых систем сырьевых технологий лаборатории.
Рибен сказал, что более быстрые вычисления с помощью графических процессоров напрямую коррелируют с научными открытиями, поскольку исследователи учатся на многочисленных симуляциях, а не на одном. Быстрая итерация с высоким разрешением позволяет пользователям быстро решать проблемы, повышая производительность. Кроме того, увеличенная вычислительная мощность, которую LLNL получит с El Capitan, позволит проводить более крупномасштабное моделирование, которое ранее было недостижимо, и повысит стандарт сложности моделирования.
«Способность быстро выполнять итерации с полной точностью и высоким разрешением в 3D имеет решающее значение для эффективного открытия», — сказал Рибен. «Это немедленное преимущество: люди могут решать проблемы гораздо быстрее. Таким образом, увеличение скорости напрямую приводит к повышению производительности пользователя».
«Еще одна вещь, которую он позволяет вам делать, — это, конечно же, масштабировать, поэтому теперь вы можете рассматривать вещи в масштабе, о котором раньше не задумывались. То, что когда-то считалось передовым, со временем станет более распространенным явлением».