• Aucun résultat trouvé

Arbre d’assemblage et m´ethodes supernodales

1.2 M´ethodes directes de factorisation de matrices creuses

1.2.1 Arbre d’assemblage et m´ethodes supernodales

En pratique, l’arbre d’´elimination n’est pas utilis´e. En effet, on utilise une structure appel´eearbre d’assemblage qui est obtenue en fusionnant certains nœuds de l’arbre d’´eli-mination. Ainsi, les nœuds appartenant au mˆeme supernœud [14] sont fusionn´es. Un supernœud correspond `a un ensemble de colonnes contigu¨es de la matrice apr`es remplis-sage ayant la mˆeme structure de non-z´eros sous la diagonale. Ainsi, si nous consid´erons la matrice pr´esent´ee dans la figure1.1, nous pouvons distinguer trois supernœuds : (d,e), (f,g), et (h,i,j). L’arbre d’assemblage correspondant `a cette matrice est alors donn´e dans la figure 1.5.

h,i,j

d,e

b c

a

f,g

Arbre d’assemblage

Fig. 1.5 – Arbre d’assemblage correspondant `a la matrice donn´ee en figure 1.1.

Les m´ethodesleft-looking,right-lookinget multifrontales sont en g´en´eral impl´ement´ees en utilisant un arbre d’assemblage et sont donc appel´eesm´ethodes supernodales. De ce fait les calculs sont faits sur de plus gros blocs ce qui conduit `a de meilleures performances. Une description plus d´etaill´ee de la m´ethode multifrontale bas´ee sur un arbre d’assemblage sera donn´ee dans la section 2.2. Quelques logiciels impl´ementant des approches supernodales, qu’elles soient left-looking ou right-looking ou multifrontales, sont SuperLU [21], PaSTiX [34], UMFPACK[22], TAUCS1 ,Oblio [55], PSPASES[32], la librairie HSL [36], SPOOLES[13], WSMP [33] et MUMPS [5, 7].

Il est `a noter que certains de ces logiciels impl´ementent une version parall`ele distri-bu´ee de l’algorithme de factorisation avec des approches diff´erentes relatives au type de l’ordonnancement utilis´e. En effet, si nous consid´eronsPaSTiX[34] ouSuperLU_DIST[38], une approche d’ordonnancement compl`etement statique a ´et´e choisie. `A l’oppos´e, si nous consid´erons MUMPS, l’approche d’ordonnancement utilis´ee est bas´ee sur une affectation partielle des tˆaches de mani`ere statique compl´et´ee par des d´ecisions dynamiques visant un objectif d’´equilibrage de charge et de r´eactivit´e.

1www.tau.ac.il/~stoledo/taucs/

Dans les chapitres suivants nous ´etudierons la m´ethode multifrontale et particuli`ere-ment les aspects li´es au comporteparticuli`ere-ment m´emoire de cette m´ethode. En effet, de par son algorithme de factorisation, la m´ethode multifrontale exhibe des propri´et´es de localit´e spatiale et temporelle qui sont favorables `a l’obtention de bonnes performances. De plus, le fait que les traitements soient faits sur des structures consid´er´ees comme denses per-met l’utilisation de noyaux d’alg`ebre lin´eaire dense tr`es performants. Cependant, cette m´ethode est caract´eris´ee par l’utilisation de blocs de donn´ees temporaires pouvant avoir une taille importante pour certaines classes de matrices. Ainsi le comportement m´emoire d’une telle approche peut ˆetre un des points cl´e pour l’obtention de bonnes performances face `a des probl`emes de taille de plus en plus importante.

Premi` ere partie

Etude et optimisation du ´

comportement m´ emoire pour le cas s´ equentiel

15

Chapitre 2

Etude de l’impact des techniques de ´ renum´ erotation sur le comportement de la m´ ethode multifrontale

2.1 Introduction

Les m´ethodes directes de r´esolution de syst`emes lin´eaires creux et en particulier les m´ethodes multifrontales sont appr´eci´ees pour leur robustesse et leur efficacit´e. Cependant ces m´ethodes requi`erent g´en´eralement beaucoup plus de m´emoire que les m´ethodes it´era-tives. Quelquefois, des probl`emes de grande taille ne peuvent ˆetre r´esolus par une m´ethode multifrontale par manque de m´emoire, l’utilisation d’une m´ethode it´erative ad-hoc ´etant alors plus appropri´ee.

Dans les solveurs multifrontaux, il y a deux utilisations distinctes de la m´emoire. Une premi`ere partie de la m´emoire, appel´ee statique, est utilis´ee pour conserver les facteurs de la matrice. La seconde partie, appel´ee dynamique ou active, est employ´ee comme espace de travail et contient la ou les matrices frontales courantes ainsi qu’une pile contenant les valeurs temporaires utilis´ees pendant le processus de factorisation. Pour les m´ethodes multifrontales, la m´emoire active peut avoir une taille importante pouvant dans certains cas d´epasser celle des facteurs.

Dans ce chapitre nous allons pr´esenter une ´etude exp´erimentale de la consommation m´emoire des solveurs multifrontaux. Nous allons voir que cette consommation d´epend des techniques de renum´erotation employ´ees ainsi que de l’ordonnancement des diff´erents calculs.

La renum´erotation des inconnues d’un syst`eme creux est une technique bien connue pour r´eduire le remplissage des facteurs finaux du syst`eme, elle a donc un impact direct sur la taille de la m´emoire statique utilis´ee. Nous montrerons aussi que la renum´erotation a un impact sur la m´emoire active. Dans la m´ethode multifrontale, la taille de la m´emoire active d´epend de la structure de l’arbre d’assemblage r´esultant de la matrice r´eordonn´ee.

17

Nous pr´esenterons donc une ´etude ´etendue des structures d’arbre d’assemblage obtenues pour diverses combinaisons de matrices creuses et de techniques de renum´erotation.

Ce chapitre est organis´e comme suit. Nous commencerons dans la section 2.2 par donner une description du comportement m´emoire de la m´ethode multifrontale. Puis, dans la section 2.3 nous d´ecrirons les probl`emes tests utilis´ees ainsi que les techniques de renum´erotation ´etudi´ees. Ensuite, nous ´etudierons dans les sections 2.4 et 2.5 l’impact de ces techniques sur la topologie de l’arbre d’assemblage ainsi que sur le comportement m´emoire du solveur. Finalement, nous conclurons.