Depuis le début des années 2000, Transvalor propose des solutions HPC permettant à ses clients d’exploiter pleinement leur puissance de calcul pour obtenir des résultats encore plus précis.

 

Qu’est-ce que le calcul parallélisé ?

Le logiciel FORGE® tire parti d’un module de résolution implicite 3D qui s’exécute en parallèle, ce qui signifie que le calcul est subdivisé (ou réparti) sur plusieurs cœurs de CPU en allouant une partie du maillage à chaque cœur.

Le temps de calcul est ainsi considérablement réduit, car le domaine de calcul est divisé entre plusieurs processeurs. Cela implique également qu’il est possible d’utiliser des maillages comportant un nombre important d’éléments afin d’améliorer la précision des calculs.

Découvrez notre solution

 

Avantages de la parallélisation dans FORGE®

  • Possibilité d’exploiter pleinement la puissance du calcul pour obtenir des résultats plus précis.
  • Gestion du pool de jetons selon les besoins de l’utilisateur : par exemple, avec une licence de 12 jetons, il est possible d’exécuter des simulations à 1x12 cœurs, 2x6 cœurs ou 3x4 cœurs. Aucune restriction quant aux combinaisons possibles.
  • Performances HPC de pointe.
  • Le calcul parallèle est disponible pour tout type de procédés.
  • Simulations pour un maximum de 64 cœurs.
  • L’efficacité parallèle reste constante sur de nombreux cœurs.
  • Gestion de lots et planificateurs de tâches.
  • Gestionnaire de lots propriétaire intégré.
  • Prise en charge des planificateurs de tâches les plus courants sous Windows ou Linux.

 

Quels sont nos principes de base ?

La parallélisation de FORGE® s’appuie sur l’approche SPMD (Single Program Multiple Data), qui consiste à exécuter le même programme sur plusieurs cœurs mais avec un ensemble de données différent. Le principe de base vise à diviser le domaine de calcul en plusieurs partitions (ou sous-domaines) et à attribuer un ensemble de données à traiter sur chaque partition.

FORGE partitionnement maillage

Partitionnement d’un maillage sur plusieurs cœurs (une couleur par cœur)

Le programme qui divise le domaine, le « partitionneur », doit équilibrer la charge de travail entre les sous-domaines avec un nombre analogue de nœuds et d’éléments. Chaque sous-domaine est ensuite attribué à un cœur de CPU, dans lequel une analyse thermomécanique locale par éléments finis est effectuée. La solution globale est obtenue via la communication entre les cœurs.

 

Logiciel entièrement parallèle

Le programme de maillage génère des sous-domaines dans lesquels les éléments appartiennent à un seul domaine. Les nœuds sont partagés sur l’interface et les arêtes sont réparties selon un paradigme de partitionnement nodal.

Étant donné que FORGE® simule la mise en forme des métaux, une étape de remaillage est nécessaire sur chaque sous-domaine lorsqu’un certain degré de déformation est atteint. Les algorithmes mis en œuvre dans le logiciel permettent de déclencher l’étape de remaillage en parallèle sur chaque cœur. Une fois cette opération terminée, le « partitionneur » équilibre à nouveau la charge de travail entre les cœurs et optimise la taille des interfaces entre les sous-domaines. En diminuant le nombre de nœuds sur l’interface, on limite la taille de la matrice de rigidité et on réduit donc considérablement le temps de calcul.

FORGE_partitioning_domain_parallel_computing

Schéma de partitionnement de domaine dans le contexte du calcul parallèle

 

Évolutivité accrue dans FORGE®

Le calcul parallèle peut être limité car le nombre de partitions et d’interfaces augmente. Les nœuds communs entre deux sous-domaines doivent se comporter de la même manière et, par conséquent, une étape de communication est nécessaire à chaque interface pour assurer la continuité des résultats entre les sous-domaines.

Pour le calcul parallèle, il est donc indispensable d’optimiser les logiciels de simulation. Curieusement, les performances parallèles peuvent se mettre à décroître lorsque le nombre de cœurs augmente. Si la taille des sous-domaines n’est pas suffisamment grande par rapport à celle des interfaces, le temps de communication entre toutes les interfaces pourrait être supérieur au temps de calcul nécessaire pour résoudre le problème thermomécanique. Ainsi, il est essentiel de réduire la taille de l’interface entre les sous-domaines afin d’améliorer l’efficacité du module de résolution parallèle.

FORGE_parallel_computing_4vs48coeursDistribution des nœuds d’interface inter-cœurs
4 cœurs vs. 48 cœurs

La PETSc (Portable, Extensible Toolkit for Scientific Computation) est une suite de structures de données et de routines qui fournissent les blocs de construction pour la mise en œuvre de codes d’application à grande échelle sur des ordinateurs parallèles (et série). PETSc inclut une vaste suite de modules de résolution d’équations linéaires et non linéaires parallèles et d’intégrateurs temporels qui peuvent être utilisés dans des codes d’application écrits en Fortran, C, C++, Python, etc. La bibliothèque PETSc permet de résoudre de nombreuses fonctions scientifiques, telles que les multiplications matricielles, vectorielles ou matrice-vecteur. Cette suite comprend également plusieurs méthodes de résolution, dont la méthode du résidu conjugué, permettant un code de calcul efficace en parallèle.

 

Cas d’application : forgeage en matrice fermée d'un vilebrequin 

Le calcul parallèle est disponible pour l’ensemble des procédés FORGE®. Cette étude d’efficacité a été réalisée sur un cas de forgeage au vilebrequin en matrice fermée avec outils déformables

Le tableau ci-dessous présente l’accélération et l’efficacité parallèle obtenues en utilisant différents nombres de cœurs. Sp correspond à l’accélération obtenue en utilisant N cœurs par rapport à N-1. formule_spE désigne l’efficacité relative parallèle obtenue en utilisant N cœurs par rapport à N-1.
formule_eparallel_computing_table

 

FORGE® maintient une efficacité quasi constante (rapport accélération et nombre de cœurs) pour les calculs lancés sur un grand nombre de cœurs comme indiqué sur la figure ci-dessousL’efficacité relative parallèle est représentée en rouge. On constate que le module de résolution FORGE® est efficace en parallèle, même sur un grand nombre de cœurs.

FORGE_parallel_computing_closed-die

Accélération du calcul parallèle grâce à une évolutivité accrue

 

Demander une démo