Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction...
Transcript of Méthodes de résolution à plusieurs niveaux de parallélisme ... · 1 Introduction...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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