Достижения в области параллельных вычислений для более быстрых решений оптимизации топологии

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

Необходимость скорости в оптимизации топологии

Традиционные последовательные реализации оптимизации топологии страдают от серьезных ограничений масштабируемости. Каждая итерация требует решения большой системы линейных уравнений, вычисления чисел чувствительности и обновления поля плотности — все операции, которые масштабируются нелинейно с размером задачи. Типичная 3D-проблема с миллионами конечных элементов может потребовать сотни итераций, каждая требующая минут (или часов) на одном ядре. Общая продолжительность выполнения быстро становится непомерной, особенно когда исследование дизайна требует нескольких вариаций параметров.

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

Понимание параллельных вычислений в контексте оптимизации топологии

Прежде чем углубляться в конкретные достижения, полезно уточнить типы обычно используемого параллелизма. Доминируют две широкие категории:

Архитектура памяти также имеет значение. Системы совместной памяти (многопроцессорные процессоры) позволяют потокам получать доступ к общему адресному пространству, упрощая связь, но рискуя раздором. Кластеры распределенной памяти (например, на основе MPI) требуют явной передачи сообщений, что добавляет накладные расходы, но позволяет масштабировать тысячи ядер. Современные системы часто гибридизируют оба - несколько процессов MPI, каждый из которых использует потоки OpenMP - для баланса гибкости и производительности.

Ключевые параллельные вычислительные архитектуры для оптимизации топологии

Многоядерные процессоры и многопоточность

Почти каждая современная рабочая станция является параллельной машиной. Многоядерные процессоры с 8, 16 или даже 64 ядрами теперь являются товарным оборудованием. Для оптимизации топологии параллелизация с общей памятью через потоки OpenMP или C++ может привести к немедленному ускорению с минимальным рефакторингом кода. Наиболее эффективные выгоды приходят от параллелизации сборки на уровне элементов и векторных операций в итеративных решателях, таких как методы сопряженного градиента (CG). Многие коды оптимизации с открытым исходным кодом и коммерческой топологии (например, популярный 88-строчный код MATLAB, коммерческие пакеты) теперь включают нативную многоядерную поддержку.

Значительным недавним достижением является использование оптимизирующих систем, не имеющих аналогового доступа к памяти (NUMA). Архитектура неоднородного доступа к памяти (NUMA) наказывает за удаленный доступ к памяти. Прикрепляя нити к конкретным ядрам и распределяя память локально, исследователи сократили киоски памяти до 40% в крупномасштабных оптимизаторских работах по топологии. Эти оптимизации особенно полезны для проблем с сотнями миллионов степеней свободы.

GPU ускорение

Графические процессоры (GPU) по своей сути параллельны, с тысячами ядер, предназначенных для массовой пропускной способности. Для оптимизации топологии GPU превосходят в плотной линейной алгебре и операциях с использованием элементов. NVIDIA CUDA и OpenCL являются основными используемыми фреймворками.

Недавние работы продемонстрировали, что целые циклы оптимизации топологии могут работать полностью на GPU, избегая дорогостоящих переносов данных CPU-GPU. Wang et al. (2022) представили полностью ускоренную структуру GPU, которая достигла 50-кратного ускорения по многоядерной базовой линии CPU для 3D-кантилверного пучка с 2,5 миллионами элементов. Ключевые инновации включали: (1) оптимизированный для GPU многосетевой предусловий для линейного решателя, (2) пакетные продукты матрицы-вектора для анализа чувствительности и (3) фильтр плотности на основе CUDA, который избегает атомных операций посредством тщательной индексации.

Большая часть потребительских графических процессоров имеет 8-24 ГБ VRAM, что ограничивает размер проблемы, который может быть решен полностью на устройстве. Такие стратегии, как неосновная обработка и структуры данных с памятью (например, хранение только симметричной части матрицы жесткости), являются активными областями исследований.

Распределенные вычисления и кластеры

Для самых больших проблем — от миллионов до миллиардов степеней свободы — одной машины, даже с несколькими графическими процессорами, недостаточно.Распределенная параллелизация памяти с использованием интерфейса передачи сообщений (MPI) является рабочей лошадкой высокопроизводительных вычислений (HPC) для оптимизации топологии.

Типичный подход заключается в разделении домена проектирования на поддомены с использованием инструмента разделения графов (например, METIS, Scotch). Каждый процесс MPI владеет подмножеством элементов и соответствующих узлов. Итерации протекают следующим образом:

  1. Каждый процесс собирает локальные матрицы жесткости и векторы силы.
  2. Линейная система решается параллельно с использованием итеративного растворителя (часто CG с аддитивным предусловием Шварца).
  3. Числа чувствительности вычисляются локально, а затем передаются в соседние поддомены для реализации этапа фильтрации.
  4. Применяется параллельное обновление дизайна (например, с помощью метода критериев оптимальности).

Современные фреймворки, такие как Parallel Topology Optimization Library (]TopOpt) и deal.II библиотека конечных элементов изначально поддерживает распад домена и гибридный параллелизм MPI+OpenMP. Масштабирование до 10 000 ядер было продемонстрировано для проблем с более чем 1 миллиардом элементов.

Последние алгоритмические достижения

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

Методы разложения домена

Наиболее популярным вариантом является метод аддитивного Шварца (ASM), где глобальная проблема разделена на перекрывающиеся или непересекающиеся поддомены, решенные независимо, а затем объединённые. Исследователи недавно внедрили методы двух-первичного разрыва конечных элементов и соединения (FETI-DP) , которые обеспечивают лучшую масштабируемость для проблем с высокими числами состояний (например, из-за большой контрастности свойств материала во время оптимизации). FETI-DP снижает накладные расходы на связь, обеспечивая непрерывность в интерфейсах поддоменов через множители Lagrange. Было показано, что масштабирование почти линейно до 16 384 ядер в системе Cray XC40 для задач оптимизации топологии автомобилей.

Многосетевые решётки

Оптимизация топологии часто включает в себя решение уравнения, подобного Пуассону, для этапа фильтра, а также основной системы эластичности. Методы Multigrid являются оптимальными решателями - они достигают конвергенции в операциях O(N). Параллельная мультигрид (PMG) расширяет это на распределенные среды. Заметным шагом вперед является использование алгебраической мультигрид (AMG) , которая автоматически конструирует грубые сетки из матрицы с разреженностью, устраняя необходимость в геометрической информации. AMG теперь стандартен во многих параллельных кодах оптимизации топологии и особенно эффективен в сочетании с ускоренными GPU сглаживанием (например, Чебышев или полиномиальное сглаживание). AMG на основе гиперграфа, например, в библиотеке BoomerAMG, продемонстрировала отличную масштабируемость на до 500 000 процессов MPI.

Параллельная фильтрация чувствительности

Чтобы избежать шаблонов шашки и обеспечить независимость от сетки, топология оптимизации использует фильтр чувствительности, который усредняет чувствительность элементов по фиксированному радиусу. В последовательном случае это просто. Параллельно соседство фильтра каждого элемента может распространяться через границы поддоменов, требуя связи. В недавней работе используется подход -призрачного слоя: каждый поддомен расширяет свою сетку на один слой элементов от соседей, вычисляет вклады фильтров локально, а затем обменивается только граничными данными. Для больших радиусов фильтра (относительно размера элемента) слой призрака должен быть толщиной в несколько элементов, увеличивая накладные расходы памяти. Новые алгоритмы, основанные на асинхронной связи и динамической регулировке уровня призрака, снизили затраты на синхронизацию до 30%.

Машинное обучение: расширенная оптимизация топологии

Параллельные вычисления также позволяют связывать топологическую оптимизацию с глубокими нейронными сетями. Здесь параллельная инфраструктура используется не только для решения задач оптимизации, но и для обучения суррогатных моделей. Например, полностью сверточную сеть можно обучать на лету во время оптимизации, используя данные, распределенные по нескольким графическим процессорам посредством параллельного обучения данным. Суррогат предсказывает оптимальные поля плотности для новых граничных условий, резко сокращая количество дорогостоящих решений конечных элементов. Этот гибридный подход, иногда называемый «нейронной топологией оптимизации», как было показано, достигает 10-100 × ускорений для аналогичных геометрий. Задача параллелизации заключается в эффективном чередовании итераций решателей и этапов обучения сети без процессоров холодинга. Такие структуры, как TensorFlow и PyTorch с Horovod, все чаще интегрируются в трубопроводы оптимизации топологии.

Реальные приложения и преимущества

Практическое влияние этих достижений параллельных вычислений ощутимо в разных отраслях:

Помимо скорости, способность использовать более тонкие сетки напрямую приводит к более высоким конструкциям точности и сокращению отходов материалов. Исследование Мичиганского университета в 2023 году показало, что 128-ядерная рабочая станция может решить топологическую оптимизацию 10 миллионов элементов за 4,5 часа - задача, которая заняла бы более двух месяцев на одном ядре десять лет назад.

Проблемы и ограничения

Несмотря на значительный прогресс, остается несколько препятствий:

Будущие направления

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

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

Для дальнейшего чтения технических деталей, проконсультируйтесь с фундаментальной работой Бендсё и Зигмунда по теории оптимизации топологии, обзор параллельных стратегий Aage et al. и блог NVIDIA по оптимизации топологии с ускорением GPU . Практики также могут обратиться к веб-сайту DTU TopOpt для фреймворков с открытым исходным кодом, которые поддерживают MPI и параллелизацию GPU.