Математические
структуры и моделирование 2014. №4(32). С. 174-179
УДК 519.688
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ ПРИМЕНЕНИЯ СУПЕРКОМПЬЮТЕРОВ В ИНЖЕНЕРНОМ ДЕЛЕ
И.Е. Евдокимов
к.ф.-м.н., e-mail: i.evdokimov@rus-helicopters.com
НИЦ АО «Вертолёты России»
Аннотация. В статье проведён анализ различных работ в области прикладного компьютерного моделирования физических процессов. Основное внимание уделено вопросам моделирования газодинамических процессов, имеющих большую вычислительную ёмкость и требующих реализации сложных алгоритмов распределённых вычислений. На примерах двух задач расчёта течения в осевом компрессоре, поставленных в 2009 и 20132014 гг. в разных университетах ФРГ, показано почти трёхкратное увеличение ёмкости задачи, а также примерно 14-кратное увеличение задействованных вычислительных ресурсов. Отмечено, что задачи уровня научного университетского исследования 2009 гг. в настоящее время уже являются индустриальными задачами, которые могут быть решены инженерами достаточно высокой квалификации с применением современных расчётных программ и промышленных кластеров. Помимо особых требований к квалификации инженеров-исследователей изменение инструментов и подходов к работе отделов информационного обеспечения также требует подготовки особых специалистов в области разработки прикладных программ для управления кластерами, администраторов вычислительных систем и разработчиков алгоритмов распределённых вычислений. Помимо вычислительных кластеров, которые уже стали традиционными компонентами любого исследования, связанного с компьютерным моделированием в любой научной области, в статье уделено внимание использованию графических ускорителей (GPU) и технологии CUDA для улучшения качества компьютерных моделей и снижения расходов на вычисления. Были рассмотрены результаты, опубликованные в различных работах в РФ и за рубежом, по-свящённые разработке специальных решателей с использованием возможностей GPU. В частных случаях, разработчикам таких решателей удаётся добиться значительных результатов в плане улучшения универсальности своих расчётных программ благодаря широкому использованию готовых библиотек и метапрограммированию.
Ключевые слова: высокопроизводительные вычислительные системы, кластеры, компьютерное моделирование, инженерный анализ.
Введение
Проектирование современной техники в наше время не может обойтись без применения разнообразных вычислительных средств. Несмотря на недостатки численных моделей, экспериментальные исследования продолжают сокращаться в общей доле исследований при внедрении новых изобретений и создании новых образцов технических устройств. Несмотря на отчётливую тенденцию к увеличению масштаба математических моделей, стоимость и энергозатратность компьютерного моделирования снижается, в то время как стоимость проведения и сложность эксперимента — растут.
Количество вводимых в строй суперкомпьютеров непрерывно возрастает. Современный инженер может иметь на рабочем месте компьютер, не мыслимый ещё 15-20 лет назад. В журнале Innovative Supercomputing in Deutschland [1] опубликован значительный список университетов Германии, оснащённых высокопроизводительными кластерными системами. Явными лидерами списка www.top500.org являются университеты США, однако, заметные места в нём занимают Китай, Япония, Германия, Франция и университеты других европейских стран, что является показателем развития науки и техники. В списке TOP500 фигурируют не только государственные институты, но и частные компании в сфере авиации, космонавтики, электроники и даже страховые компании.
Применение суперкомпьютеров в России встречает ряд системных проблем, прежде всего связанных с недостатком специалистов в различных областях: квалифицированных инженеров, умеющих пользоваться технологиями масштабируемых вычислений; системных администраторов, способных поддерживать кластеры на предприятиях и в университетах. Данные системные проблемы подпитывают стереотипы в отношении применения кластеров и суперкомпьютеров в научной и инженерной деятельности.
Образование специалистов в технической, инженерной области имеет слабую связь с технологиями высокопроизводительных вычислений. Данная тема либо не рассматривается в курсах информатики, либо не затрагивается в специализированных курсах преподавателями в силу отсутствия доступа к кластерным системам из учебного класса.
Определённый прогресс в данном направлении был достигнут в рамках программы «Университетский кластер» в отдельных вузах. Программа улучшила ситуацию с наличием вычислительных систем в учебных заведениях, однако, вопросы применения этих систем целиком и полностью зависят от локальных условий и личных качеств людей, которые занимаются проблемами образования в вузах, оснащённых суперкомпьютерами.
1. Современные инженерные задачи и суперкомпьютеры
Можно оценить динамику роста масштаба инженерных задач по ряду публикаций в специализированных журналах. Например, в журнале inSeDe за 2009 год [2] была опубликована статья «Numerical Investigation of a Highly
Loaded Axial Compressor Stage with Inlet Distortions». При проведении аэродинамического расчёта компрессора авиационного двигателя использовалась расчётная сетка количеством узлов более 50 миллионов. Стационарные и нестационарные вычисления производились на 130 процессорах, общее количество использованной памяти составило 495 Гб. С таким количеством процессоров была достигнута производительность 3000 итераций в день, всего расчёт проводился б месяцев для нестационарного расчёта, состоящего из i28 шагов по физическому времени. Для расчётов использовался суперкомпьютер Leibniz Computer Center in Garching.
В работе 20i4 года «Numerical simulation of the rotating instability in an axial compressor stator», представленной на конференции CEAA в г. Светлогорске [3] были изложены результаты по численному моделированию кругового срыва в компрессоре. Модель компрессора состояла из i88 элементарных объёмов, в данном случае проводился нестационарный расчёт, вычисления длились 40 дней на i860 процессорах. Общий объём работы оценивался в i,8 миллиона часов процессорного времени (Supercomputer HLRN-II of the North-German Supercomputing Alliance).
Изложенные примеры, безусловно, различаются по характеру. Очевидно, для данных работ осуществлялась различная по объёму поддержка исследований из различных фондов. Но можно с уверенностью сказать, что научная работа 2009 года по объёму вычислительных ресурсов примерно соответствует возможностям рядового промышленного кластера сегодня.
Bodo Reimann в презентации [4] приводит ряд задач из области космонавтики и характеризует их вычислительную сложность. Как правило, данные задачи имеют отношение к области вычислительной газовой динамики. Рассмотрим эти задачи:
1. Задача расчёта бафтинга основания ракеты Ariane 5: i2 миллионов узлов, >350000 CPUh для моделирования iOO ms реального физического времени.
2. Взаимодействие факелов двигателей в космосе: 2 миллиона ячеек, 80 миллионов частиц, i20 субдоменов "35000 CPUh для i30000 шагов в методе Монте-Карло.
Как мы видим, задача моделирования ракетного двигателя по своему масштабу находится достаточно близко к задаче моделирования срыва в осевом компрессоре. При необходимости моделирования более длительного времени вычислительные сложности задач могут сравняться.
Повсеместно в практике инженерных расчётов наблюдается отход от эмпирических теорий. Факт имеет отношение к области вычислительной газовой динамики и связан с уменьшением использования моделей турбулентности, разработанных с i940 по 2000 гг., имеющих значительные эмпирические основы в своих формулировках.
Возрастающая вычислительная сложность задач требует соблюдения многих требований к используемому оборудованию и программному обеспечению. Несмотря на возможное соблюдение закона масштабирования, реальная производительность системы может сильно страдать при неправильном обслужива-
нии операционной системы и оборудования. Постоянный контроль за состоянием вычислительного кластера становится насущной задачей для любой организации, которая его использует.
2. Вычисления на GPU. Тенденции в HPC для инженеров
За всё время развития технологии расчётов на графических процессорах, или GPU, в основе которых, прежде всего, лежит технология CUDA компании nVidia, накоплен большой опыт применения распределённых алгоритмов вычислений. Работы в области вычислительной газовой динамики на CUDA чаще имеют научный характер [5].
Это связано со сложностью проектирования вычислительного алгоритма и трудностью его реализации. Поэтому круг задач, решаемых на GPU в частных научно-исследовательских проектах, не велик.
Однако в последнее время наметились тенденции к созданию универсальных расчётных программ для численного моделирования с использованием CUDA. Одной из наиболее ярких является программа пермских разработчиков GHOST CFD [6]. Основные качества данной программы: использование методов высокого порядка для расчёта турбулентных течений, использование вихреразрешающих методов для описания турбулентности. Возможность моделирования акустических явлений в среде. В докладе на конференции CEAA 2014 г. авторы продемонстрировали хорошую производительность разработанной программы при решении задачи расчёта шума вентилятора авиационного двигателя. Показатели производительности сравнивались с широко распространённым комплексом ANSYS CFX. В результате расчётов показано преимущество в суммарном времени расчёта на вычислительной системе, оснащённой GPU.
Повышенный интерес к созданию универсальных программ с применением специализированных процессоров GPU на Западе показывает создание и активная разработка программы pyFR (http://www.pyfr.org). Данный расчётный комплекс разрабатывается в Imperial College of London в том числе для концерна BAE. В целом он характеризуется аналогичным подходом: использованием методов высокого порядка для одновременного расчёта турбулентных течений и явлений аэроакустики вихреразрешающими методами для расчёта турбулентности. Планируется реализация сопряжённых методов расчёта (Fluid-Structure Interface) для совместного расчёта конструкция — обтекающая среда.
Существенные преимущества в производительности (десятки раз) показывают, что при сравнительной сложности расчётных моделей GPU обеспечивают меньшую ресурсоёмкость расчётов. Несмотря на то, что методы расчёта на GPU адаптируются для такого пакета как OpenFOAM, преимущества технологии зачастую реализуются в меньшем объёме, чем в случае разработки нового решателя специально для графических ускорителей. При этом опыт проекта pyFR уже показывает то, что специализированный код может быть небольшим — 5000 строк для уравнений Навье-Стокса в предположении сжимаемой среды. В то же время ускорение расчёта на GPU для OpenFOAM чаще всего
разрабатываются для несжимаемых решателей, и это связано с особенностями алгоритмов решателей для сжимаемой среды.
3. Общие выводы
Очевидно, в ближайшем будущем будет продолжена разработка специализированного программного обеспечения для расчётов на GPU, это связано с существенным приростом производительности данного вида систем по сравнению с процессорами общего назначения. Положительным фактом является то, что такие разработки как PyFR являются открытыми, что позволяет использовать уже имеющийся опыт и сконцентрироваться в получении нового знания и новых вычислительных методов.
Уже зарекомендовавшие себя программные пакеты OpenFOAM или гигант ANSYS, будут реализовывать свои собственные методы расчёта, использующие достоинства графических процессоров. Такой вариант развития событий уже наблюдается для открытого пакета OpenFOAM. Любой открытый проект может стать международным, а участвующие в нём университеты могут приобрести передовой опыт, обмениваясь друг с другом достижениями. Поэтому для улучшения качества подготовки специалистов со всех сторон важно встраиваться в систему международных проектов.
ЛИТЕРАТУРА
1. inSiDE journal, Vol.ii, No. i, Autumn 20i3.
2. inSiDE journal, Vol.7, No. 2, Autumn 2009.
3. Beselt Ch., Ehrenfried K., Miche U., Peitsch D., van Rennings R., Thiele F. Numerical simulation of the rotating instability in an axial compressor stator. CEAA Proceedings, 20i4. URL: http://ceaa.imamod.ru/files/ceaa2014.pdfs/CEAA2014_3_ 1.2_Michel.pdf
4. Reimann B. HPC Aktivitaten der Abteilung Raumfahrzeuge — Institut für Aerodynamik und Strömungstechnik. URL: http://www.t-systems-sfr.com/ e/downloads/2013/vortraege/7reimann.pdf
5. URL: http://www.nvidia.com/object/ computational_fluid_ dynamics.html
6. Коромыслов Е.В., Усанин М.В., Гомзиков Л.Ю., Синер А.А. Расчёт инженерных газодинамических задач методами высокого порядка точности на графических процессорах // Альманах CUDA, июль 20i4.
MODERN TRENDS IN HIGH PERFOMANCE COMPUTING IN ENGINEERING
I.E. Evdokimov
Ph.D. (Math.), e-mail: i.evdokimov@protonmail.ch
Center of Innovations and Competence JSC "Russian Helicopters"
Abstract. Modern approach to high performance computing is discussed in the article. It describes several large scale engineering and computational fluid dynamics problems which were solved from 2009 to present times at different universities all over the world. The growing interest for solving future engineering problems is in the using of the graphical processor units and the developing of the universal software for using in GPU systems.
Keywords: engineering, high performance computing.