251x
004007
2023-09-26

Распараллеливание

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

Вот некоторые ключевые аспекты распараллеливания в программе МКЭ:

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

Эта технология используется в RFEM 6 и RSTAB 9 для параллельного расчёта загружений и сочетаний нагрузок. Для каждого ядра запускается отдельный экземпляр решателя, который затем вычисляет загружения или сочетания нагрузок одно за другим.

Многопоточность и многопроцессорность : Программа МКЭ может использовать методы многопотока и многопроцессорности для распараллеливания вычислений. Многопоточность включает в себя разделение одной программы на более мелкие потоки, которые могут выполняться одновременно. Многопроцессорность включает одновременный запуск нескольких независимых процессов или задач.

В программе RFEM 6 используются оба метода.

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

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

Масштабируемость : Масштабируемость означает, насколько хорошо программа МКЭ может обрабатывать растущее количество процессоров или ядер. Качественно разработанное программное обеспечение для параллельных расчетов по МКЭ должно демонстрировать хорошую масштабируемость, это означает, что с добавлением новых процессоров будет значительно улучшаться производительность, а время моделирования уменьшается.

Параллельные библиотеки и API : Многие пакеты программного обеспечения МКЭ используют библиотеки параллельного программирования и API (интерфейсы прикладного программирования ) для эффективной реализации распараллеливания. Примерами являются OpenMP, CUDA (для распараллеливания графических процессоров) и другие.

OpenMP используется в программе RFEM 6 для реализации многопоточности.

CUDA не используется в RFEM 6. Поэтому расчет нельзя выполнять на графических картах или подобных вычислительных ускорителях.

Решатель распараллеливания : В моделировании по МКЭ довольно часто встречается решение линейных систем уравнений. Сложные решатели можно распараллелить для увеличения скорости решения.

Предварительная и постобработка : Хотя основное внимание уделяется распараллеливанию фазы решателя, распараллеливание также может быть применено к другим аспектам анализа МКЭ, включая задачи предварительной обработки (создание сетки, настройка модели) и постобработка (визуализация, анализ данных).

Как в предобработке, так и в постобработке распараллеливание с помощью многопоточности используется в RFEM 6 и RSTAB 9.

Эффективное распараллеливание в программе МКЭ может значительно сократить время моделирования, что позволяет инженерам и исследователям эффективно анализировать более масштабные и сложные проблемы.

Исходная глава