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

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

Традиционные последовательные реализации оптимизации топологии страдают от серьезных ограничений масштабируемости. Каждая итерация требует решения большой системы линейных уравнений, вычисления чисел чувствительности и обновления поля плотности — все операции, которые масштабируются нелинейно с размером задачи. Типичная 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, все чаще интегрируются в трубопроводы оптимизации топологии.

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

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

  • Аэрокосмическая — Легкие ребра крыла и скобки, которые обладают 20-30-процентным снижением веса при соблюдении требований к прочности и усталости. Параллельная оптимизация позволяет дизайнерам запускать несколько нагрузочных кейсов одновременно, обеспечивая надежность.
  • Автомобильный — компоненты шасси и рычаги подвески оптимизированы для ударопрочности и жесткости. GPU позволяют в режиме реального времени изменять дизайн в интерактивных сессиях, сокращая циклы разработки.
  • Биомедицинские имплантаты — специфичные для пациента стебли тазобедренного сустава и клетки позвоночника с градуированными пористыми структурами для содействия врастанию костей. Параллельная оптимизация с высоким разрешением (сотни миллионов элементов) захватывает мелкомасштабные трабекулярные узоры.
  • Аддитивное производство — интеграция навесных ограничений и оптимизация опорной структуры.Параллельные решатели позволяют включать дополнительную физику (тепловую, текучую) без запретительных сред выполнения.

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

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

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

  • Дисбаланс нагрузки — Во время оптимизации удаляется материал, в результате чего количество активных элементов изменяется в зависимости от поддоменов. Статическое разделение может привести к серьезному дисбалансу нагрузки в более поздних итерациях. Динамическое перераспределение (например, с использованием ParMETIS) добавляет накладные расходы, но может восстановить баланс. Недавние исследования используют онлайн-мониторинг плотности элементов для прогнозирования сдвигов нагрузки и запуска перераспределения только при необходимости.
  • Узкие места памяти — Распределенная память снижает давление памяти на каждый узел, но коллективное хранение глобальной матрицы жесткости (даже в собранном виде) может превышать совокупную память для чрезвычайно больших задач. Безматричные методы, которые вычисляют матрично-векторные продукты на лету, набирают тягу, но они увеличивают вычислительную стоимость за итерацию.
  • Алгоритмическая сложность — Не все алгоритмические компоненты параллельны одинаково. Фильтрация с большим радиусом, агрегация чувствительности и проверка конвергенции часто требуют глобальных сокращений (например, операций полного снижения), которые масштабируются логарифмически с количеством процессоров. Переоптимизация этих шагов сокращения имеет решающее значение для слабого масштабирования.
  • Гетерогенное оборудование — Рост систем с сочетанием процессоров, графических процессоров и ускорителей (например, FPGA) создает проблемы переносимости и балансировки нагрузки. Большинство кодов оптимизации топологии еще не полностью переносимы в таких гетерогенных архитектурах.

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

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

  • Квантовые вычисления — Хотя квантовые отжигатели и вариационные алгоритмы могут однажды решить комбинаторные подзадачи (например, оптимальный выбор дискретного материала), которые являются NP-твердыми. Параллельное квантовое моделирование, работающее на классическом HPC, используется для разработки готовых к квантовой топологии формул оптимизации.
  • Визуализация in-situ — Вместо хранения терабайт выходных данных обработка in-situ визуализирует и анализирует эволюцию дизайна по мере выполнения решателя. Это уменьшает узкие места ввода/вывода и позволяет интерактивное рулевое управление.
  • Облачная оптимизация — Контейнеризованные сервисы оптимизации топологии, которые эластично масштабируются с помощью Kubernetes и бессерверных вычислений. Это демократизирует доступ: небольшие фирмы могут арендовать 1000-ядерные кластеры на несколько часов без владения инфраструктурой HPC.
  • Сквозная автоматическая дифференциация — библиотеки, такие как JAX и Zygote, позволяют дифференцировать весь цикл оптимизации, позволяя создавать градиентную конструкцию самого алгоритма оптимизации (то есть учиться оптимизировать). Эти фреймворки имеют встроенную параллелизацию (компиляция XLA для GPU / TPU) и адаптируются для крупномасштабной оптимизации топологии.

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

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