250x
004007
26.09.2023

Parallélisation

La parallélisation dans le logiciel de la méthode des éléments finis (MEF) se réfère au processus de division et de distribution des tâches de calcul entre plusieurs processeurs ou cœurs afin d'accélérer l'analyse et la simulation des problèmes d'ingénierie complexes. Le calcul parallèle permet au logiciel de gérer des simulations plus importantes et plus complexes en exploitant la puissance des processeurs multi-cœur modernes et même des groupes de calcul distribués.

Voici quelques aspects clés de la parallélisation dans le logiciel de calcul aux éléments finis :

Division du domaine : Une approche courante de la parallélisation consiste à diviser le domaine de simulation en sous-champs plus petits. Chaque sous-domaine est ensuite assigné à un processeur ou un cœur différent, et les calculs sont effectués simultanément sur ces parties distinctes. Une fois les calculs locaux terminés, les résultats sont combinés pour obtenir la solution globale.

Cette technologie est utilisée dans RFEM 6 et RSTAB 9 pour le calcul parallèle de cas de charge et de combinaisons de charges. Une instance de solveur est lancée pour chaque cœur, qui calcule ensuite les cas de charge ou les combinaisons de charge les uns après les autres.

Multithreading et multitraitement : Les logiciels de calcul aux éléments finis peuvent utiliser des techniques de multithreading et de multitraitements pour paralléliser les calculs. Le multithreading consiste à diviser un programme unique en filetages plus petits qui peuvent être exécutés simultanément. Le multitraitement consiste à exécuter simultanément plusieurs processus ou tâches indépendants.

Ces deux techniques sont utilisées dans RFEM 6.

Plusieurs processus de solveur indépendants sont lancés pour le calcul parallèle de cas de charge et de combinaisons de charges. C'est la technique du multitraitement.

Si le solveur direct est utilisé pour le calcul individuel d'un cas de charge ou d'une combinaison de charges, la charge est divisée en plusieurs filetages pour résoudre le système d'équations.

Échelonnage : L'échelonnabilité fait référence à la manière dont un logiciel MEF peut gérer un nombre croissant de processeurs ou de cœurs. Un logiciel MEF parallèle bien conçu doit présenter une bonne scalabilité, ce qui signifie que l'amélioration des performances est significative et que le temps de simulation diminue.

Bibliothèques parallèles et APIs : De nombreux logiciels de calcul aux éléments finis tirent parti des bibliothèques de programmation parallèle et des API ( interfaces de programmation d'application ) pour mettre en œuvre une parallélisation efficace. Les exemples incluent Openmp, CUDA (pour la parallélisation GPU), et autres.

Openmp est utilisé dans RFEM 6 pour l'implémentation du multithreading.

CUDA n'est pas utilisé dans RFEM 6. Le calcul ne peut donc pas être effectué sur des cartes graphiques ou des accélérations informatiques similaires.

Parallélisation du solveur : Dans les simulations aux éléments finis, la solution des systèmes d'équations linéaires est un problème courant. Des solveurs avancés peuvent être parallèles pour accélérer la solution.

Prétraitement et post-traitement : Bien que l'accent soit mis sur la parallélisation de la phase du solveur, la parallélisation peut également être appliquée à d'autres aspects de l'analyse aux éléments finis, y compris les tâches de prétraitement (génération du maillage, configuration du modèle) et du post-traitement (visualisation, analyse des données).

La parallélisation via le multithreading est utilisée à la fois dans RFEM 6 et RSTAB 9 pour le prétraitement et le post-traitement.

La parallélisation efficace dans le logiciel de MEF peut réduire considérablement les temps de simulation, permettant aux ingénieurs et aux chercheurs d'analyser des problèmes plus grands et plus complexes.

Chapitre parent