Analyse et développement d algorithmes parallèles pour la résolution directe de grands systèmes linéaires creux



Documents pareils
Résolution de systèmes linéaires par des méthodes directes

Happy birthday ZSet High performance computing dans ZSet

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Simulation du transport de matière par diffusion surfacique à l aide d une approche Level-Set

Limitations of the Playstation 3 for High Performance Cluster Computing

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Évaluation de la régression bornée

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Principe de symétrisation pour la construction d un test adaptatif

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

Calculs et Certificats de Quantités d Intérêts Non Linéaires d un Mousqueton Cédric Bellis

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Modélisation géostatistique des débits le long des cours d eau.

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Manipulateurs Pleinement Parallèles

Multiprogrammation parallèle générique des méthodes de décomposition de domaine

Exercices Corrigés Premières notions sur les espaces vectoriels

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Cours d analyse numérique SMI-S4

SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Cours 02 : Problème général de la programmation linéaire

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Rapport d activité. Mathieu Souchaud Juin 2007

Théories de champ moyen et convection à grande échelle

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

1 Introduction et modèle mathématique

Cours de Master Recherche

Résolution d équations non linéaires

SysFera. Benjamin Depardon

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Programmation linéaire

Journée Scientifique Onera

COULEE D ALLIAGES METALLIQUES : MODELISATION DES STRUCTURES ET SEGREGATIONS CHIMIQUES

Aspects théoriques et algorithmiques du calcul réparti L agglomération


Programmation linéaire

La méthode des éléments finis et le contrôle des calculs

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

4.2 Unités d enseignement du M1

Figure 3.1- Lancement du Gambit

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

T.P. FLUENT. Cours Mécanique des Fluides. 24 février 2006 NAZIH MARZOUQY

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Probabilités Loi binomiale Exercices corrigés

Les capitalistes sociaux sur Twitter : détection via des mesures de similarité

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Problème d ordonnancement de véhicules en variables booléennes

Exercice : la frontière des portefeuilles optimaux sans actif certain

Journée Scientifique Onera

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

de calibration Master 2: Calibration de modèles: présentation et simulation d

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

La fonction exponentielle

Génération de code binaire pour application multimedia : une approche au vol

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Introduction à MATLAB R

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Détection et suivi d'objets dans une séquence d'images par contours actifs

Les algorithmes de base du graphisme

BIG Data et R: opportunités et perspectives

Modélisation multi-agent d allocation des ressources : application à la maintenance

Composants génériques de calcul scientifique

Interaction Fluide-Structure pour les corps élancés

Introduction à MapReduce/Hadoop et Spark

Recherche d information en langue arabe : influence des paramètres linguistiques et de pondération de LSA

Yves Debard. Université du Mans Master Modélisation Numérique et Réalité Virtuelle.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Asynchronisme : Cadres continu et discret

données en connaissance et en actions?

Modélisation 3D par le modèle de turbulence k-ε standard de la position de la tête sur la force de résistance rencontrée par les nageurs.

Commande Prédictive. J. P. Corriou. LSGC-ENSIC-CNRS, Nancy. corriou@ensic.inpl-nancy.fr

BILAN du projet PEPS 1 EOLIN (Eolien LMI INSA)

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

AICp. Vincent Vandewalle. To cite this version: HAL Id: inria

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

Bourses d excellence pour les masters orientés vers la recherche

Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante.

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

Classification Automatique de messages : une approche hybride

Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"

Table des matières. I Mise à niveau 11. Préface

Méthodes numériques appliquées à la conception par éléments finis

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Rapport de stage Master 2

Simulation de variables aléatoires

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov

UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE

Introduction au datamining

Transcription:

Analyse et développement d algorithmes parallèles pour la résolution directe de grands systèmes linéaires creux Ibrahima GUEYE 1, Xavier JUVIGNY 1, François-Xavier ROUX 1, Frédéric FEYEL 1 & Georges CAILLETAUD 2 1 ONERA Centre de CHÂTILLON 29, avenue de la Division Lecrec 92322 CHÂTILLON Cedex, France. Prenom.Nom@onera.fr 2 ENSMP Centre des Matériaux P. M. FOURT, ARMINES - UMR CNRS 7633 B.P. 87 91003 EVRY Cedex, France. Georges.Cailletaud@ensmp.fr Résumé : La résolution directe de grands systèmes linéaires creux est un point crucial dans de nombreuses applications industrielles et scientifiques. Dans ce papier nous proposons d introduire une factorisation parallèle des matrices dans la résolution locale de la méthode FETI. Pour cela, nous mettons au point un solveur direct parallèle efficace basé sur la technique de dissection emboîtée des matrices. Cette technique permet de diviser la factorisation d une matrice en autant d étapes que de niveaux de la dissection. Ce solveur permettra d inverser de grands systèmes linéaires et de détecter localement des singularités en cas de présence de modes rigides dans certains sous-domaines. Nous présentons quelques résultats obtenus montrant que le solveur mis au point atteint des performances respectables. Les performances de la méthode FETI utilisant dans sa résolution locale ce solveur sont aussi analysées. Abstract : Direct resolution of large sparse linear systems is a crucial point in many industrial and scientific applications. In this paper we propose to introduce a parallel factorization of the matrix into the local resolution of the FETI method. For that, we develop an effective parallel direct solver based on the nested dissection of the matrix. This technique makes it possible to divide the factorization of a matrix into as many stages as of levels of the dissection. This solver will allow to invert large linear systems and to detect locally singularities in the event of presence of rigid modes in some sub-domains. We present some results obtained showing that the solver developped reaches sizeable performances. The performances of the FETI method using in its local resolution this solver are also analyzed. Mots-clefs : dissection emboîtée ; solveur direct parallèle ; méthode FETI 1 Introduction La résolution directe de systèmes linéaires creux constitue une base essentielle pour la simulation numérique de nombreux problèmes de calcul scientifique, notamment les problèmes liés aux calculs des structures mécaniques. En mécanique des structures, l utilisation des codes de calcul par éléments finis conduit à des systèmes linéaires de très grandes tailles dont la résolution mène souvent à des coûts très importants en temps CPU et en espace mémoire. La parallélisation devient alors une technique incontournable, si l on veut résoudre en implicite des problèmes de plusieurs millions d équations avec la nécessité de prendre en compte des composants de plus en plus complexes voire des systèmes entiers. Les méthodes de décomposition de 1

domaine sans recouvrement sont alors un moyen naturel permettant d arriver à réduire ces coûts de calcul. Une des méthodes les plus utilisées est la méthodes FETI 1 [2, 7]. Elle repose sur une "approche duale" en introduisant des conditions de raccord en contraintes aux interfaces entre sous-domaines. Si nous voulons conserver un nombre raisonnable de sous-domaines (quelques centaines) nous serons malgré tout confronté à des systèmes locaux de tailles importantes sur de très gros modèles (dizaines de millions d inconnues). Pour contourner ce problème et tirer profit des nouvelles machines multi-cœurs, nous nous orientons vers un traitement multi-échelles respectant leur topologie particulière. Nous utilisons alors la méthode FETI classique et nous introduisons dans l inversion des systèmes locaux une factorisation parallèle des matrices. Nous mettons donc au point un solveur direct parallèle efficace reposant sur la technique de dissection emboîtée des matrices [1, 3, 4]. Cette technique permet de renuméroter les matrices et de diviser la factorisation en autant d étapes que de niveaux de la dissection. Dans ce papier nous allons d abord parler de la réalisation du solveur. Nous discuterons de la technique de dissection emboîtée utilisée ainsi que sa mise en œuvre. Nous présenterons ensuite quelques résultats collectés montrant que notre solveur atteint des performances comparables au solveur direct DSCPACK 2. Les performances de la méthode FETI utilisant dans sa résolution locale le solveur DSCPACK [6] et le notre sont aussi analysées. 2 Réalisation du solveur Il existe dans le commerce de nombreux solveurs directs parallèles, mais aucun ou du moins peu savent détecter automatiquement les singularités de la matrice décrivant le système linéaire à inverser. Ces singularités sont dûes à la présence de modes rigides dans les structures à traiter. Ici nous mettons en œuvre un solveur direct parallèle basé sur la technique de dissection emboîtée. En cas de présence de modes rigides dans les structures, nous rajoutons une étape pour le traitement spécifique des singularités. 2.1 La dissection emboîtée Les techniques de renumérotation des inconnues des systèmes linéaires creux visent essentiellement à réduire le nombre d opérations et à minimiser le remplissage des matrices pendant la phase de factorisation. Ce qui permet de réduire le temps nécessaire à la factorisation ainsi que la taille mémoire à utiliser. Une des approches efficaces de renumérotation est la dissection emboîtée. Pour développer le solveur nous effectuons une dissection emboîtée incompléte. L approche que nous avons choisie consiste à renuméroter par groupe d inconnues (sous-domaines) au lieu de faire une renumérotation inconnue par inconnue. 1 Finite Element Tearing and Interconnecting 2 Domain Separator Codes Package FIG. 1 Le découpage en quatre blocs. 2

Pour illustrer cette technique, nous considérons un système linéaire à résoudre Mx = b, où M est une matrice de taille 3x5 issue de la discrétisation par différences finies du Laplacien en dimension deux. Nous découpons en quatre sous-domaines le graphe associé à la matrice M (voir figure 1). La technique consiste à renuméroter sous-domaine par sous-domaine les inconnues du système linéaire. A l aide d un algorithme génétique nous reconstituons l arbre d élimination des inconnues tout en minimisant le nombre d inconnues interconnectées aux interfaces (figure 2(a)). L élimination des inconnues par sous-domaine permet alors de ne pas créer de nouvelles dépendances transversales (de nœuds de même niveau) sur l arbre. En revanche, le calcul des compléments de Schur des différents sous-domaines va modifier certaines des lignes et colonnes des sous-blocs situés plus bas dans l arbre. Pendant la factorisation, cette technique permet aussi de ne pas remplir énormément le profil de la matrice M renumérotée dont la structure par blocs est présentée sur la figure 2(b). Avec un tel arbre d élimination la matrice factorisée aura la même structure que la matrice renumérotée. FIG. 2 L arbre et matrice renumérotée obtenus par dissection. 2.2 La mise en œuvre Avec la nouvelle structure de la matrice M, pour résoudre le système linéaire nous effectuons une factorisation par niveaux en commençant par le plus haut niveau de l arbre (le niveau 2). Cette première étape constitue la phase de factorisation locale des blocs M ii, i = 1, 2, 3 et 4. L élimination des inconnues associées à ces blocs apporte des contributions M fi Mii 1 M ig aux sous-blocs M fg, pour f, g prenant les valeurs 5, 6 et 7. Par contre, aucun terme non nul ne peut apparaître au cours de la factorisation locale entre les inconnues d un bloc M ii et les inconnues d un bloc M jj, pour i j prenant les valeurs 1, 2, 3 et 4. Le calcul du complément de Schur sur les blocs 5 et 6 situés au niveau suivant (niveau 1) donne respectivement : ( ) S55 S 57 = S 75 0 ( M55 M 51 M11 1 M 15 M 53 M33 1 M 35 M 57 M 51 M11 1 M 17 M 53 M33 1 M 37 M 75 M 71 M11 1 M 15 M 73 M33 1 M 35 0 et ( S66 S 67 S 76 0 ( M66 M 62 M22 1 M 26 M 64 M44 1 M 46 M 67 M 62 M22 1 M 27 M 64 M44 1 M 47 M 76 M 72 M22 1 M 26 M 74 M44 1 M 46 0 ) = ) ) (1) (2) 3

Le calcul du complément de Schur sur le bloc M 77 situé au niveau 0 de l arbre va nécessiter les contributions M 7i Mii 1 M i7 des blocs M ii, i = 1, 2, 3 et 4. On assemble donc S 77 sous la forme : S 77 = M 77 4 i=1 M 7i ii M i7 (3) Les blocs S ij ont les mêmes dimensions que les blocs M ij, i, j = 5, 6 et 7. Pour gagner en espace mémoire, l idée est de stocker les coefficients de S ij dans le bloc M ij. Après la factorisation locale, ces blocs sont alors denses puisque le complément de Schur de chaque sous-domaine est une matrice pleine. Dans la phase de factorisation du complément de Schur, l élimination des inconnues des interfaces 5 et 6 apporte des contributions au complément de Schur sur le bloc M 77 (équation 4). Pour la réalisation de la factorisation de façon efficace, il est nécessaire d utiliser des routines de calcul par blocs de type BLAS 3, sur le calcul des contributions des interfaces. S 77 = S 77 6 i=5 S 7i S 1 ii S i7 (4) Lors de la factorisation, il arrive qu on trouve une singularité locale à un bloc matriciel diagonal. Cette singularité peut n être qu un effet indésirable dû au découpage ou une singularité de la matrice globale. Ainsi, lorsqu on rencontre durant la factorisation une singularité locale, on la rajoute à une liste de nœuds singuliers. A la fin de la factorisation, on essaye d éliminer ces nœuds en complétant globalement la factorisation de la matrice à l aide du complément de Schur qu on factorise par la suite. Les singularités détectées lors de la factorisation du complément de Schur donnent les singularités globales et celles qui n étaient que locales sont éliminées. La structure particulière de la matrice permet une résolution par blocs du système Mx = b. L idée est d écrire M sous la forme LU où L et U sont définies respectivement par les matrices triangulaires ci-dessous : M 11 0 0 0 0 0 0 0 M 22 0 0 0 0 0 0 0 M 33 0 0 0 0 0 0 0 M 44 0 0 0 M 51 0 M 53 0 S 55 0 0 0 M 62 0 M 64 0 S 66 0 M 71 M 72 M 73 M 74 S 75 S 76 I et I 0 0 0 11 M 15 0 11 M 17 0 I 0 0 0 22 M 26 22 M 27 0 0 I 0 33 M 35 0 33 M 37 0 0 0 I 0 44 M 46 44 M 47 0 0 0 0 I 0 S 1 55 S 57 0 0 0 0 0 I S66 1 S 67 0 0 0 0 0 0 S 77 La solution du système est obtenue en resolvant les systemes triangulaires Ly = b et Ux = y. La résolution de ces systèmes triangulaires s effectue en trois grandes phases : une phase de descente ; résolution des systèmes locaux M ii y i = b i, i = 1, 2, 3 et 4 et mise à jour des termes b i i = 5, 6 et 7 du second membre b : b 5 b 6 b 7 = b 5 b 6 b 7 M 51 y 1 + M 53 y 3 M 62 y 2 + M 64 y 4 M 71 y 1 + M 72 y 2 + M 73 y 3 + M 74 y 4 une phase de résolution du problème condensé aux interfaces : S 55 0 0 0 S 66 0 S 75 S 76 I I 0 S 1 55 S 57 0 I S 1 66 S 67 0 0 S 77 x 5 x 6 x 7 = b 5 b 6 b 7 (5) (6) 4

une phase de remontée ; calcul des solutions locales : x 1 x 2 x 3 x 4 = y 1 y 2 y 3 y 4 11 M 15 x 5 + 11 M 17 x 7 22 M 26 x 6 + 22 M 27 x 7 33 M 35 x 5 + 33 M 37 x 7 44 M 46 x 6 + 44 M 47 x 7 Avec la dissection emboîtée la parallélisation du solveur se fait de façon naturelle. Etant donné qu il n existe pas de dépendances sur les inconnues des sous-domaines situés à un même niveau sur l arbre, on traite ces sous-domaines en même temps sur des ensembles séparés de processeurs. La parallélisation se fait sous l environnement MPI. 3 Résultats et analyse Nous présentons ici quelques résultats obtenus avec le solveur mis en place (DISSECTION). On fait une comparaison de ses résultats avec ceux des solveurs Sparse Direct (développé au CdM 3 ) et DSCPACK dont la mise en œuvre est basée sur l idée de diviser la matrice creuse en domaines et en séparateurs. Les solveurs Sparse Direct et DSCPACK inversent des systèmes linéaires symétriques. Les performances de la méthode FETI utilisant dans sa résolution locale ces deux solveurs sont aussi analysées. (7) 3.1 Analyse des résultats du solveur Actuellement, la structure du complément de Schur est considérée comme étant non symétrique. Nous avons donc fait une factorisation et une résolution non symétriques du problème condensé aux interfaces. Les jeux de tests utilisés ici portent sur des problèmes d élasticité linéaire quadratique en 3D. Ces tests ont été effectués sur une machine bi-processeurs AMD Opteron 64-bit qui posséde 4 Go de mémoire vive. Les résultats sont présentés sur le tableau 1. Taille du problème Solveur 14739 ddls 56355 ddls 110221 ddls DSCPACK 2.98 s 52 s 169 s DISSECTION 5.56 s 122 s 485 s Sparse Direct 20.26 s 427 s 1518 s TAB. 1 Temps d exécution en secondes pour chaque type de solveur Ce tableau montre que les résultats obtenus avec le solveur mis en œuvre dans sa version non symétrique sont encourageants. Une fois la version symétrique mise en place nous pouvons amélioré ces résultats en divisant les temps de calcul par deux. Ce qui nous permettra d égaler les temps d exécution du solveur DSCPACK. 3.2 Analyse des performances de la méthode FETI L implantation de la méthode FETI dans le code de calcul par éléments finis ZeBuLon (développé conjointement par l ONERA, le centre des Matériaux et Northwest Numerics (Seatle)) permet la résolution en parallèle de problèmes à très grands nombres de degrés de liberté. La 3 Centre des Matériaux 5

méthode telle qu elle est mise en œuvre aujourd hui dans le code peut utiliser le solveur DSC- PACK pour inverser les systèmes locaux. On veut utiliser aussi la version symétrique du solveur DISSECTION dans la méthode FETI pour comparer les deux résultats. Nous avons réalisé des expérimentations parallèles en utilisant le solveur DSCPACK dans la résolution locale de FETI. Les calculs sont faits sur un cluster Linux doté de 78 nœuds biprocesseurs AMD Opteron disposant chacun de 4, 8 ou 16 Go de mémoire vive. Les nœuds communiquent des données au travers d un réseaux Gigabit Ethernet. Ils nous reste à faire de même avec le solveur mis en place pour pouvoir faire la comparaison. Les résultats de comparaison seront présentés prochainement. 4 Conclusions Les résultats obtenus avec le solveur mis en œuvre dans sa version non symétrique sont encourageants. Des travaux sur la version symétrique du solveur sont en cours de réalisation. Ces résultats peuvent être améliorés une fois la version symétrique prête. Nous nous attendons donc à diviser les temps de calcul par deux ce qui nous permettra d atteindre des performances respectables. La parallélisation du solveur va bientôt être commencée. Dès la fin de la parallélisation, nous pourrons faire du multi-domaines dans la résolution locale de la méthode FETI (factorisation parallèle des systèmes locaux). L utilisation de la version parallèle du solveur dans la méthode FETI nous permettra de tester la détection automatique de singularités en cas de présence de modes rigides dans certains sous-domaines. Références [1] P. Charrier and J. Roman. Algorithmique et calculs de complexité pour un solveur de type dissections emboîtées. Numerische Mathematik, 55 :463 476, 1989. [2] C. Farhat and F.-X. Roux. Implicit parallel processing in structural mechanics. Computational Mechanics Advances, 2(1) :1 124, 1994. [3] A. George. Nested dissection of a regular finite element mesh. SIAM J. on Numerical Analysis, 10(2) :345 363, 1973. [4] A. George and J. W.-H. Liu. Computer solution of large sparse positive definite systems. Prentice Hall, 1981. [5] P. Lascaux and R. Théodor. Analyse numérique matricielle appliquée à l art de l ingénieur, volume 1. Masson, 1986. [6] P. Raghavan. Dscpack home page. http ://www.cse.psu.edu/ raghavan/dscpack, 2001. [7] D. J. Rixen. Substructuring and dual methods in structural analysis. Thèse de doctorat, Université de Liége, 1997. 6