Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction...

41
ethodes de r ´ esolution ` a plusieurs niveaux de parall ´ elisme pour la m´ ecanique des structures Ibrahima GUEYE - Franc ¸ois-Xavier ROUX ONERA / DTIM - CHP Journ ´ ee CSMA Calcul intensif en m ´ ecanique des structures 11 mai 2010 Ibrahima GUEYE / Franc ¸ ois-Xavier ROUX esolution ` a plusieurs niveaux de parall ´ elisme

Transcript of Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction...

Page 1: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

Methodes de resolution a plusieurs niveauxde parallelisme pour la mecanique des structures

Ibrahima GUEYE - Francois-Xavier ROUX

ONERA / DTIM - CHP

Journee CSMACalcul intensif en mecanique des structures

11 mai 2010

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 2: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

Plan 2 / 34

1 Introduction

2 Mise en œuvre d’un solveur direct parallele

3 Amelioration de la mise en œuvre de FETI

4 Conclusion et perspectives

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 3: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ProblematiqueObjectifs

Plan 3 / 34

1 IntroductionProblematiqueObjectifs

2 Mise en œuvre d’un solveur direct parallele

3 Amelioration de la mise en œuvre de FETI

4 Conclusion et perspectives

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 4: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ProblematiqueObjectifs

Problematique 4 / 34

En mecanique des structures: simulation numerique deproblemes de plus en plus complexes;

I Resolution en parallele repose:la sous-structuration des maillages;des strategies par sous-domaines;

FETI (C. Farhat et F.-X. Roux):

efficace pour un nombre modere de processeurs;pas reellement extensible a de tres grands nombre desous-domaines;

nombre d’iterations augmente avec la finesse du decoupage.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 5: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ProblematiqueObjectifs

Problematique 5 / 34

Pour une parallelisation efficace sur les machinesmassivement paralleles;

I Mise en œuvre de strategies a plusieurs niveaux:premier niveau de parallelisme fourni par FETI (gros grains);deuxieme niveau de parallelisme a chercher au sein des solveurslocaux dans les sous-domaines (grains fins).

I Par ailleurs, les nœuds de calcul des calculateurs

des nombres de cœurs croissants qui se partagent unememoire globale;

possibilite d’utiliser donc du parallelisme a memoirepartagee dans les nœuds;

au niveau global, parallelisation de type distribuee parechange de messages.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 6: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ProblematiqueObjectifs

Objectifs 6 / 34

I Mettre au point un parallelisme a deux niveaux dansFETI pour la resolution de grands systemes lineaires:

1 realiser un solveur direct creux sous la forme d’uneboıte noire

capable de traiter automatiquement et proprement lessingularites des matrices non inversibles;

2 paralleliser le solveur direct en memoire partageela methodologie du multi-threading;

3 ameliorer la mise en œuvre de la methode FETIinverser en parallele les systemes locaux avec le solveur amettre en place.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 7: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Plan 7 / 34

1 Introduction

2 Mise en œuvre d’un solveur direct paralleleLe cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

3 Amelioration de la mise en œuvre de FETI

4 Conclusion et perspectives

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 8: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 8 / 34

I Basee souvent sur une elimination de Gauss;factoriser la matrice creuse M ;

sous la forme LU, LDU ou LDLT .I En general, trois grandes phases:

1 phase d’analyse du systemetrouver un ordre d’elimination des inconnues du systeme;⇒ minimisation du remplissage lors de la factorisation;effectuer une factorisation symbolique de M ;⇒ connaissance a l’avance de la structure creuse de L et U;

2 phase numeriquecalculer reellement les termes de L et U;

3 phase de descente-remonteeresoudre les systemes triangulaires resultants;=⇒ LY = B et UX = Y .

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 9: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 9 / 34

I Rappel: phenomene de remplissage (fill-in)lors de la decomposition LU de la matrice M ;

certains termes nuls deviennent non nuls;interpretation graphique et matricielle.

avec un taux de remplissage trop elevetemps de factorisation importants;augmentation de la taille memoire utilisee.

Gestion essentielle du phenomene de remplissage!

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 10: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 9 / 34

I Rappel: phenomene de remplissage (fill-in)lors de la decomposition LU de la matrice M ;

certains termes nuls deviennent non nuls;interpretation graphique et matricielle.

avec un taux de remplissage trop elevetemps de factorisation importants;augmentation de la taille memoire utilisee.

Gestion essentielle du phenomene de remplissage!

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 11: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 9 / 34

I Rappel: phenomene de remplissage (fill-in)lors de la decomposition LU de la matrice M ;

certains termes nuls deviennent non nuls;interpretation graphique et matricielle.

avec un taux de remplissage trop elevetemps de factorisation importants;augmentation de la taille memoire utilisee.

Gestion essentielle du phenomene de remplissage!

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 12: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 10 / 34

I Rappel: minimisation du remplissagetrouver une renumerotation optimale des inconnues;

permuter les lignes et les colonnes de M ;

exemple:

utiliser des algorithmes de renumerotation;algorithme de degre minimum (Tinney et Walker, 1967);technique de dissection emboıtee (George, 1973).

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 13: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 10 / 34

I Rappel: minimisation du remplissagetrouver une renumerotation optimale des inconnues;

permuter les lignes et les colonnes de M ;

exemple:

utiliser des algorithmes de renumerotation;algorithme de degre minimum (Tinney et Walker, 1967);technique de dissection emboıtee (George, 1973).

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 14: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Resolution par methodes directes: MX = B 11 / 34

I Rappel: arbre d’elimination (Liu, 1990)exprime les dependances relatives au processusd’elimination de Gauss;genere a partir du graphe representant la structure de LU;

les feuilles sont les inconnues i telles que lji = 0, ∀j < i ;un nœud j a pour pere i , si i = min{k/lkj 6= 0}.

cas simple:

independance de l’elimination des inconnues 1 et 2;minimisation des operations a faire (pas de calcul de l21).

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 15: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 12 / 34

Recherche d’un ordre d’elimination:I technique proposee: dissection emboıtee (George, 1973)

principe:base sur une bissection recursive des sommets du grapheou maillage associe;

illustration: ici

interets:paralleliser naturellement: strategie de division - conquete;produire de super- arbres d’elimination bien equilibres;reduire le nombre d’operations et limiter le remplissage de lamatrice lors de la factorisation.

suivant

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 16: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 12 / 34

Recherche d’un ordre d’elimination:I technique proposee: dissection emboıtee (George, 1973)

principe:base sur une bissection recursive des sommets du grapheou maillage associe;

illustration: ici

interets:paralleliser naturellement: strategie de division - conquete;produire de super- arbres d’elimination bien equilibres;reduire le nombre d’operations et limiter le remplissage de lamatrice lors de la factorisation.

suivant

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 17: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 13 / 34

Recherche d’un ordre d’elimination:I dissection emboıtee

illustration:

structure de la matrice M

graphe associe

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 18: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 14 / 34

Illustration de la dissection emboıtee:1 rechercher recursivement des separateurs du graphe

outil: librairie METIS (G. Karypis, 1995)

modifiee: intervention dans les sources, a chaque iteration;

minimisation de la taille des separateurs;⇒ reduire les communications resultantes;

10 11 13 14

0 1 3 4

12

5 6 7 8 9

2

Γ21

Γ11 Γ1

2

I1

I2

I3

I4

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 19: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 14 / 34

Illustration de la dissection emboıtee:1 rechercher recursivement des separateurs du graphe

effectuer une premiere bissection;

selectionner un ensemble de sommets: separateur Γlj ;

⇒ partition en deux sous-graphes deconnectes.

10 11 13 14

0 1 3 4

12

5 6 7 8 9

2

Γ21

Γ11 Γ1

2

I1

I2

I3

I4

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 20: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 14 / 34

Illustration de la dissection emboıtee:1 rechercher recursivement des separateurs du graphe

repeter le processus sur chaque sous-graphe genere

10 11 13 14

0 1 3 4

12

5 6 7 8 9

2

Γ21

Γ11 Γ1

2

I1

I2

I3

I4

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 21: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 14 / 34

Illustration de la dissection emboıtee:1 rechercher recursivement des separateurs du graphe

deux criteres d’arret:

taille des sous-structures Ii ;

nombre de niveaux.

10 11 13 14

0 1 3 4

12

5 6 7 8 9

2

Γ21

Γ11 Γ1

2

I1

I2

I3

I4

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 22: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 15 / 34

Illustration de la dissection emboıtee:2 construire un super-arbre d’elimination

formation des nœuds de l’arbre par groupes d’inconnues.

retour

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 23: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 16 / 34

Factorisation symbolique:I determiner la position des nouveaux termes de L et U

remplacer le calcul effectif par un test de pre-existence;I construire un super-arbre d’elimination complet

partir du super-arbre genere par bissection recursive;chercher les inconnues interfaces de chaque super-nœud;⇒ inconnues des separateurs voisines avec les siennes et

celles de ses descendants;

recherche tres complexe!I construire la structure par blocs de L et U

permettre le stockage de l’ensemble des termes deremplissage.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 24: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase d’analyse 17 / 34

Factorisation symbolique:I structure par blocs de L et U

MI1I1 0 0 0 MI1Γ11

0 MI1Γ21

0 MI2I2 0 0 MI2Γ11

0 MI2Γ21

0 0 MI3I3 0 0 MI3Γ12

MI3Γ21

0 0 0 MI4I4 0 MI4Γ12

MI4Γ21

MΓ11I1 MΓ1

1I2 0 0 MΓ11Γ

11

0 MΓ11Γ

21

0 0 MΓ12I3 MΓ1

2I4 0 MΓ12Γ

12

MΓ12Γ

21

MΓ21I1 MΓ2

1I2 MΓ21I3 MΓ2

1I4 MΓ21Γ

11

MΓ21Γ

12

MΓ21Γ

21

Niveau 0

0

Nv. 1

1

Nv. 2

2

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 25: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Phase numerique 18 / 34

I Mise a l’echelle de la matrice originale M:⇒ generalisation du type de systemes a resoudre;

trouver ∆ telle que les (∆M∆)ii aient le meme ordre;MX = B ⇐⇒ (∆M∆)Y = ∆B avec Y = ∆−1X .

I Factorisation creuse des matrices MIi Ii sous la forme LU.I Condensation statique du probleme sur les separateurs;

calculer les complements de Schur:

SΓkmΓl

n= MΓk

mΓln−

∑i

MΓkm Ii M

−1Ii Ii

MIiΓln.

I Pour chaque niveau l > 0,factorisation pleine des matrices SΓl

jΓlj;

condensation sur les separateurs de niveau k > l et p > l :

SΓkmΓp

n= SΓk

mΓpn−

∑j

SΓmk Γl

jSΓl

jΓlj

−1SΓljΓ

np.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 26: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Prise en compte des systemes non inversibles 19 / 34

I Cause presence de mouvements de corps rigide.I Origine: geometrique, physique ou decoupage.I Traitement:

1 detecter les singularites locales:chercher des pivots proches de 0 durant la factorisation desmatrices MIi Ii et SΓl

j Γlj;

renvoyer le traitement de ces inconnues a la fin de lafactorisation;

2 rechercher les singularites globales:condenser le systeme sur les singularites detectees;⇒ formulation d’une matrice Ss pleine;effectuer une elimination de Gauss avec pivotage sur Ss

pour trouver les modes a energie nulle;3 construire une base du noyau de M .

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 27: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Strategie 20 / 34

Un parallelisme a grains fins reposant sur le multi-threading:I modele de parallelisme a memoire partagee;I permettre de realiser simultanement plusieurs taches;

outils standards Pthreads et OpenMP:simples et souvent efficaces pour la mise en œuvre.

I Point important!de nos experiences, pour alleger la tache d’un processeur,inutile de creer plus de threads que de cœurs disponibles.

Approche:1 a chaque niveau l ,

considerer au maximum ntask taches (ntask ≤ ncore);OpenMP - BLAS-3: ntask = ncorePthreads: ntask depend de nbnode(l).

2 creer ntask threads avec le calcul de leur charge nload .Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 28: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Une petite application 21 / 34

I 5 niveaux;I nbnode(0) = 12;I ncore = 4.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 29: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Une version multi-threads hybride 22 / 34

I Version avec le standard Pthreadscreer des threads dans:

factorisation creuse des MIi Ii et calcul des MΓkm Ii

M−1Ii Ii

MIi Γln;

factorisation pleine des SΓlj Γ

lj

et calcul des SΓmk Γl

jSΓl

j Γlj

−1SΓlj Γ

np;

phase de descente-remontee.I Mise en place d’une version hybride:

dans la phase numerique, mixer threads POSIX et librairiemulti-threads MKL d’Intel (BLAS);

a un niveau l ,⇒ choisir Pthreads si nbnode(l) ≥ ncore;⇒ activer les sous-programmes multi-threads (OpenMP) de

BLAS dans le cas contraire.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 30: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Environnement et tests d’evaluation 23 / 34

I Environnement:

ZeBuLon:code de calcul par E.F.adapte aux problemes de mecanique non lineaire;presente une structure modulaire orientee objet (C++).

Machine: bi-processeurs Intel Quad-Core Xeon 64-bitmemoire de 32 Go;frequence de 3.16 GHz;possibilite d’executer jusqu’a 8 taches en parallele.

I Tests d’evaluation:

calculs sequentiels;problemes d’elasticite lineaire en 3D;domaines cubiques.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 31: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Performances sequentielles 24 / 34

I Comparaison avec d’anciennes methodes de resolution:Frontal, plus vieux (skyline ou mono-frontale);Sparse Direct (premiere generation de Gauss);

0

2000

4000

6000

8000

10000

12000

50000 100000 150000 200000 250000 300000 350000

Tem

ps C

PU

d’e

xécu

tion

(s)

Nombre de degrés de liberté

DissectionSparse Direct

Frontal

Sparse Direct et Frontals’ecroulent pour desproblemes assez grands;

temps obtenus avec le solveurDissection sont remarquables!Une avancee pour FETI!

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 32: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Performances sequentielles 25 / 34

I Comparaison avec des solveurs lineaires de reference:DSCPack et MUMPS;

approche multi-frontale;

0

100

200

300

400

500

600

700

800

50000 100000 150000 200000 250000 300000 350000

Te

mp

s C

PU

d’e

xécu

tion

(s)

Nombre de degrés de liberté

DSCPACKMUMPS

Dissection

comportement tres honorablede notre methode par rapporta celles de reference;

bonus: elle est capable deprevenir les mouvements decorps rigides.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 33: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Performances sequentielles 26 / 34

I Resolution a seconds membres multiples:taille de probleme: 206 763 ddl;

0

50

100

150

200

250

0 20 40 60 80 100 120 140 160 180 200

Te

mp

s C

PU

de

de

sce

nte

−re

mo

nté

e (

s)

Nombre de seconds membres

DissectionDSCPACK

temps de calcul meilleurs;

grand interet pour FETI, siplusieurs descentes -remontees a la fois possibles.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 34: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Performances en multi-threading 27 / 34

I Acceleration des versions multi-threads:Pthreads, OpenMP et hybride;probleme avec une taille de 397 953 ddl:

arbre genere comporte 10 niveaux et 512 sous-structures;

1

1.2

1.4

1.6

1.8

2

2.2

2.4

1 2 3 4 5 6 7 8

Acc

élér

atio

n

Nombre de threads (p)

ρ = 0.65version hybrideversion Pthreadsversion OpenMP

puissance mieux exploiteeavec la version hybride;

gain atteint un facteur > 2 sur4 cœurs.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 35: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

Le cadre generalLes etapes de la mise en œuvreLa parallelisation du solveurL’evaluation des performances

Performances en multi-threading 28 / 34

I Comparaison avec DSCPack et MUMPSutiliser BLAS optimisee avec OpenMP dans DSCPack etMUMPS;

1

1.5

2

2.5

3

3.5

1 2 3 4 5 6 7 8

Acc

élér

atio

n

Nombre de threads (p)

version hybridesolveur DSCPACK

solveur MUMPS

bon comportement de lastrategie proposee;

reste encore un chemin aparcourir: ameliorer l’aspecthybride de parallelisation.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 36: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

L’evaluation des performances

Plan 29 / 34

1 Introduction

2 Mise en œuvre d’un solveur direct parallele

3 Amelioration de la mise en œuvre de FETIL’evaluation des performances

4 Conclusion et perspectives

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 37: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

L’evaluation des performances

Environnement et tests d’evaluation 30 / 34

I Architecture parallele utilisee:le supercalculateur Titane du CCRT (CEA)

1 068 nœuds de calcul (bi-processeurs Intel Quad-CoreNehalem, 2.93 GHz, 24 Go de memoire);liaison des nœuds par reseau InfiniBand (DDR).

I Description des cas tests:probleme d’elasticite lineaire, taille augmentantlineairement en fonction du nombre de nœuds;375 000 ddl par sous-domaine en moyenne;un sous-domaine par nœud de calcul (8 cœurs);FETI equipee du projecteur direct et du preconditionneurlumped.

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 38: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

L’evaluation des performances

Extensibilite 31 / 34

I Objectif: explorer la gamme de complexite accessibleavec ces nouvelles approches sur Titane.

code de calcul se comportebien sur un grand nombre denœuds (512);

Bonne efficacite de l’approchehybride sur 4 096 cœurs;

154 millions de ddl en 696secondes!

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 39: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ConclusionPerspectives

Plan 32 / 34

1 Introduction

2 Mise en œuvre d’un solveur direct parallele

3 Amelioration de la mise en œuvre de FETI

4 Conclusion et perspectives

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 40: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ConclusionPerspectives

Principaux resultats obtenus 33 / 34

1 Mise en œuvre d’un solveur direct creux:systemes lineaires symetriques et reels, a second membresimple ou multiple;basee sur une approche de dissection emboıtee;prise en compte d’eventuels modes a energie nulle.

Performances sequentielles tres prometteuses!2 Developpement d’une version multi-threads hybride:

basee sur Pthreads et BLAS optimisee avec OpenMP;adaptee aux architectures a memoire partagee.

Des gains en multi-threading interessants!3 Mise en place d’un parallelisme a deux niveaux:

acceleration de la resolution locale dans FETI.Une meilleure exploitation de la puissance des machinesmulti-cœurs!

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme

Page 41: Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction Problematique´ Objectifs 2 Mise en œuvre d’un solveur direct parallele` 3 Amelioration de

IntroductionMise en œuvre d’un solveur direct paralleleAmelioration de la mise en œuvre de FETI

Conclusion et perspectives

ConclusionPerspectives

Quelques axes de travaux futurs 34 / 34

I Prendre en compte les systemes lineaires:symetriques complexes;non symetriques reels ou complexes.

I Optimiser l’aspect parallele du solveur:fournir un effort pour la parallelisation des resolutionssimultanees ou successives;tirer mieux parti des machines ayant plus de 16 cœurs, ...

I Revoir le parallelisme a gros grains dans FETI:diminuer la frequence des transferts de donnees entregroupe de processeurs pour ameliorer la phase iterative dela methode FETI.

I Envisager un portage sur GPU

Ibrahima GUEYE / Francois-Xavier ROUX Resolution a plusieurs niveaux de parallelisme