Ускорение расчетов в ANSYS Fluent с графическими процессорами NVIDIA
Группа компаний «ПЛМ Урал» — «Делкам-Урал», официальный партнер ANSYS, Inc. в России и на территории СНГ, представляет вашему вниманию перевод статьи, посвященной возможностям ускорения расчетов в ANSYS Fluent.
Все вопросы относительно статьи и программного обеспечения вы можете задать нашим техническим специалистам на сайте www.cae-expert.ru и www.cae-club.ru.
Перевод выполнен Дмитрием Волкиндом, старшим инженером технической поддержки ГК «ПЛМ Урал» — «Делкам-Урал».
Программный продукт ANSYS Fluent поддерживает вычисления на графических процессорах (GPU) компании NVIDIA, позволяя инженерам, работающим над повышением производительности изделий, тратить меньше времени на исследование различных конструктивных решений и укладываться в сроки проектирования. Это стало возможным благодаря интеграции во Fluent разработанной компанией NVIDIA библиотеки реализованных под GPU численных алгоритмов AmgX. Добавляя графические процессоры в существующие кластеры и рабочие станции, можно добиться практически двукратного сокращения времени счета. В дополнение к ускорению расчетов графические процессоры потребляют меньше энергии по сравнению с системами, работающими только на центральных процессорах (CPU). Подключить GPU во Fluent очень просто, но всякий ли расчет от этого выиграет? В данной публикации мы попытаемся ответить на этот вопрос.
GPU и ANSYS HPCГрафические процессоры поддерживаются в последних релизах всеми HPCлицензиями, включая ANSYS HPC, ANSYS HPC Pack и ANSYS HPC Workgroup. Более того, каждый графический процессор с точки зрения лицензии приравнивается к одному ядру центрального процессора, что позволяет пользователям при ограниченном количестве лицензий достичь более высокой производительности, подключая для вычислений GPU. |
Внешнее обтекание гоночного автомобиля — одна из задач, решение которой можно ускорить за счет GPU
Наиболее подходящие для GPU модели
Алгебраический многосеточный алгоритм (AMG) при расчете во Fluent может производить значительный объем вычислений, причем этот объем растет пропорционально количеству ячеек в расчетной области. Модели, содержащие менее нескольких миллионов ячеек, не получат прироста производительности от GPU изза дополнительных затрат ресурсов на передачу матриц от CPU и обратно. Однако для сеток с десятками и сотнями миллионов ячеек прирост будет значительным, поскольку затраты на передачу окажутся малыми по сравнению с затратами на вычисления алгоритма AMG.
Какой из алгоритмов получит больший прирост от применения GPU — сопряженный или расщепленный? Когда вычисляется исключительно задача течения (без дополнительных моделей), сопряженный решатель обычно тратит от 60 до 70% времени на решение системы линейных уравнений средствами AMG, и в подобных случаях выгодно подключать GPU. Поскольку расщепленный решатель тратит только 3040% времени на AMG, графические процессоры могут не дать прироста изза затрат на передачу.
Во Fluent для выбранной задачи вы можете определить долю времени, приходящуюся на алгоритм AMG (и таким образом понять, имеет ли смысл подключать GPU), добавив в журнал для расчета на CPU следующую команду: /parallel/timer/usage
Информация выдается в конце файла вывода после успешного завершения счета. В приведенном примере доля AMG составляет почти 75%, что означает высокую степень пригодности модели для применения GPU:
LE wallclock time per iteration: 12.299 sec (74.8%)
Жесткость системы уравнений может стать причиной дополнительных вычислительных затрат — жесткие системы трудно вычисляются, поскольку требуют большего количества итераций многосеточного алгоритма, а потому идеально подходят для GPU.
Типичным классом задач, удовлетворяющим всем вышеупомянутым критериям, являются задачи внешней аэродинамики автомобилей и воздушных судов. Использование GPU в ANSYS Fluent для их решения может значительно ускорить расчет.
Как ускорить ANSYS при помощи GPU: ansys.com/91accelerate1 |
Увеличение производительности расчетов
При оценке целесообразности задействования GPU в расчетах основным критерием может стать количество вычисляемых задач в день или коэффициент ускорения, определенный по физическому времени счета.
Данные показатели определяются долей алгоритма AMG в общем объеме вычислений и соответствующим этой доле ускорением за счет GPU. Производительность графических процессоров в задачах внешней аэродинамики иллюстрируется приведенными ниже графиками.
Для определения экономического эффекта от приобретения GPU необходимо учесть стоимость как аппаратного, так и программного обеспечения, а также общее повышение производительности. Система без графических процессоров, стоимость которой принимается за 100% (включая стоимость памяти, высокоскоростных соединений и лицензий), позволяет для бенчмарка с грузовиком вычислять 16 задач в день, что считается 100процентным эффектом. Добавление восьми GPU увеличивает общую стоимость системы на 25%, но при этом позволяет проводить на 56% больше расчетов в день. Эти цифры демонстрируют реальное преимущество от применения GPU для аэродинамических расчетов во Fluent.
Ускорение от использования GPU для однофазных задач с сопряженным алгоритмом не ограничивается только внешней аэродинамикой — сюда же относятся и внутренние течения. Необходимо уточнить, что в 16й версии Fluent пока существуют некоторые ограничения применимости графических процессоров: на данный момент их нельзя задействовать для задач, включающих подробную химическую кинетику, метод дискретных ординат для моделирования излучения, а также для многофазных течений. Благодаря тесному сотрудничеству ANSYS и NVIDIA, в последующих версиях будет реализована поддержка GPU для части подобных задач. Кроме того, предполагается повышение производительности библиотек AmgX.
Снижение энергозатрат
Крупные компании, где расчеты запускаются на больших кластерах, заинтересованы в снижении энергопотребления для минимизации издержек и поддержки инициативы сохранения окружающей среды. При этом инженерам и исследователям требуются высокая производительность вычислений для проведения сложных расчетов и изучения огромных пространств проектных параметров. Графические процессоры, имеющие высокую производительность в расчете на ватт энергопотребления, находят здесь свою нишу. Следует отметить, что крупные GPUмодули часто включаются в состав суперкомпьютеров для снижения их общего энергопотребления. Естественно, преимущества от энергоэффективности GPU распространяются и на расчеты в ANSYS Fluent.
Итераций до достижения сходимости: CPU — 531, CPU+GPU — 566. Аппаратная часть: Intel Xeon E5-2680 (64 ядра на 8 разъемах), 8 карт Tesla K40. Лицензии ANSYS Fluent и ANSYS HPC Workgroup 64 | Стоимость решения без GPU приблизительна и включает как программную, так и аппаратную часть. Выигрыш определяется по количеству выполненных в день расчетов во Fluent на многопользовательском кластере |
Тестовая модель грузовика во Fluent состоит
из 14 млн ячеек. По сравнению со стандартным бенчмарком постановка задачи была изменена на стационарную с применением сопряженного алгоритма. При запуске на 64 ядрах процессоров Intel Xeon E5-2680 (кластер из четырех узлов) количество полностью сошедшихся расчетов составило 16 в день. При добавлении восьми карт NVIDIA Tesla K40 количество расчетов увеличилось до 25
CPU: 8 узлов Ivy Bridge по 20 ядер. Размер F-цикла: 8. GPU: 32 x Tesla K40, V-цикл, размер: 2 | Стоимость решения без GPU приблизительна и включает как программную, так и аппаратную часть. Выигрыш определяется по количеству выполненных в день расчетов во Fluent |
Для тестирования производительности GPU и соответствующего экономического эффекта при решении крупномасштабных задач вычислительной гидродинамики была выбрана модель болида Formula 1, состоящая из 140 млн ячеек. Расчет проводился в стационарной постановке с использованием сопряженного решателя (pressure-based). Производительность определялась средним временем итерации за период из 1000 итераций. Добавление GPU сократило этот показатель в 2,1 раза, что выразилось в 110-процентном приросте производительности и 55-процентном увеличении стоимости аппаратного обеспечения
Ускорение ANSYS Fluent при помощи графических процессоров NVIDIA: www.ansys.com/91accelerate2 |
Было проведено сравнение величин мгновенного энергопотребления при решении одной и той же задачи для двух систем: первая состояла только из CPU (синий график), вторая — из CPU и GPU (зеленый график). Система без GPU потребляла в среднем за период в 2651 с 471 Вт, что дает 350 Вт·ч. Несмотря на то что система с GPU потребляла в среднем 600 Вт, благодаря ускорению расчет завершился за 1302 с. Таким образом, потребление энергии составило лишь 217 Вт·ч. По сравнению с системой, построенной только на CPU, система с графическими ускорителями обеспечила экономию энергии в 38%, что может быть весьма ценным с точки зрения повышения энергоэффективности в организации
Требования к аппаратному обеспечению
- NVIDIA Tesla оптимально использовать в серверах и рабочих станциях, Quadro — в основном в рабочих станциях;
- желательно использовать высокопроизводительные устройства, такие как Tesla K40 и K80, а также Quadro K6000;
- рекомендуются карты с большим объемом памяти (от 12 до 24 Гбайт) и высокой производительностью вычислений с удвоенной точностью;
- не рекомендуется использовать карты GeForce игрового класса.
GPU обеспечивают конкурентное преимущество
Ускорение расчетов в ANSYS Fluent с поддержкой нескольких GPU — результат совместной разработки компаниями ANSYS и NVIDIA инновационного AMGрешателя, работающего на графических процессорах. Это обеспечивает преимущество при решении ресурсоемких задач при помощи сопряженного алгоритма. Графические процессоры продемонстрировали значительный прирост в тестовых задачах внешней аэродинамики. Данное обстоятельство позволяет инженерам за то же время выполнять большее количество расчетов, а также проводить расчеты более сложных и ресурсоемких задач, не нарушая сроков проектирования. Кроме того, при решении одной и той же задачи во Fluent графические процессоры потребляют меньше электроэнергии по сравнению с CPU, что дает возможность крупным компаниям сокращать энергозатраты. Ускорение расчетов с помощью графических процессоров позволит сократить время разработки. В результате компании смогут выпускать на рынок продукты более высокого качества в более короткие сроки, что обеспечит им преимущество перед конкурентами.