Оптимизация ускоренных вычислений для промышленности: код PyFR сочетает в себе высокую точность и гибкость для решения проблем нестабильной турбулентности

Оптимизация ускоренных вычислений для промышленности: код PyFR сочетает в себе высокую точность и гибкость для решения проблем нестабильной турбулентности
Оптимизация ускоренных вычислений для промышленности: код PyFR сочетает в себе высокую точность и гибкость для решения проблем нестабильной турбулентности

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

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

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

Но по мере того, как суперкомпьютеры увеличивались в размерах и масштабах, многие стандартные отраслевые приложения CFD с трудом успевали за ними, что ограничивало их точность и способность полностью заменить физические испытания. Кроме того, многие коды CFD еще не адаптированы для ускоренных вычислительных архитектур, таких как суперкомпьютер Titan Oak Ridge Leadership Computing Facility (OLCF) Cray XK7 с пиковой производительностью 27 петафлопс.

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

В знак признания своей работы команда Винсента, в которую входят исследователи с докторской степенью Брайан Вермейр, Парк Джин Сок и Арвинд Айер из Имперского колледжа, а также исследователь с докторской степенью Фредди Уизерден из Стэнфордского университета, была названа финалистом 2016 года Ассоциации Премия Гордона Белла от Computer Machinery.

Чтобы продемонстрировать мастерство высокопроизводительных вычислений PyFR, команда провела моделирование с высоким разрешением и ускорением на графическом процессоре потока над линейным каскадом реактивной турбины на Титане, флагманской системе OLCF, Министерства энергетики США (DOE) Офис научного пользователя, расположенный в Национальной лаборатории Ок-Ридж. Как указано в заявлении команды на получение награды, симуляция достигла более 50 процентов теоретической максимальной производительности Титана. Кроме того, приложение поддерживает настройку подключаемого программного обеспечения, что позволяет исследователям легко проводить процессы визуализации и анализа данных в режиме реального времени.

"Мы намеревались разработать технологию, хорошо подходящую для ускоренных систем для решения задач с нестационарным турбулентным потоком, которые требуют очень высокого уровня точности", - сказал Винсент. «Мы хотели, чтобы этот новый код был разработан с нуля для работы в различных системных архитектурах. Именно это привело нас к использованию языка программирования Python, довольно нового в контексте высокопроизводительных вычислений, для создания этого мощная платформа, которая может эффективно использовать современное оборудование для исследования реальных проблем."

Смутные времена

Турбулентность, термин, обычно ассоциируемый с ухабистыми полетами самолетов, долгое время будоражил умы великих ученых-мыслителей. Известный физик-теоретик Ричард Фейнман однажды назвал турбулентность «самой важной нерешенной проблемой классической физики».

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

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

PyFR уравновешивает эти факторы, используя высокопараллельную числовую схему, известную как реконструкция потока, структуру, предложенную ученым Национального управления по аэронавтике и исследованию космического пространства Х. Т. Huynh, который объединяет несколько высокоточных схем.

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

"У нас гораздо больше доступа ко всем функциям потока при выполнении этого большого вычисления, чем исследователи могут получить в результате эксперимента", - сказал Винсент. «Кроме того, мы потенциально можем использовать эту супербазу данных для настройки стандартных отраслевых моделей, чтобы сделать их более точными».

Виртуальная аэродинамическая труба

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

"Наша цель - предоставить возможность, которая может действовать как виртуальная аэродинамическая труба для этих каскадов турбин низкого давления, где вы можете решить всю физику и получить точный ответ без каких-либо настроек, чтобы соответствовать экспериментальным результатам", - сказал Винсент.

Команда провела первоначальную симуляцию пяти лопастей турбины на машине Piz Daint Швейцарского национального суперкомпьютерного центра, масштабировав симуляцию на 5 000 вычислительных узлов системы с поддержкой GPU. После успеха этих первоначальных запусков команда Винсента получила дискреционное разрешение директора на Титан и его более чем 18 000 графических процессоров. На Титане самый производительный запуск команды содержал 195 миллиардов степеней свободы - или независимых переменных - и работал с постоянной скоростью 13,7 петафлопс, или 13,7 квадриллиона вычислений в секунду.

«Титан - единственный суперкомпьютер, достаточно большой, чтобы выполнять масштабное моделирование, которое мы хотели попробовать», - сказал Винсент. «В этом смысле это был огромный стимул».

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

Выходим на мировой рынок

Продемонстрировав ценность открытого исходного кода, следующим шагом команды является внедрение технологии в промышленность.

Команда Винсента работает с начинающим поставщиком программного обеспечения под названием Zenotech и Центром моделирования и моделирования в Соединенном Королевстве, чтобы включить некоторые из расширенных функций PyFR в проприетарную облачную кодовую базу CFD под названием zCFD, которая будет выпущена позже в этом году. год. Кроме того, команда сотрудничает в проектах с несколькими компаниями, включая BAE Systems, Rolls-Royce и MTU Aero Engines.

Расширение PyFR для включения дополнительной физики и дальнейшей адаптации к изменениям в вычислительных архитектурах также остается приоритетом, сказал Винсент.

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