Expos - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Expos

Description:

BDIV: Recevoir Lkk et recevoir et ajouter les AUBij pour Ajk; BDIV(j, ... BDIV: Recevoir Lkk et Ukk et recevoir et ajouter les AUBij pour Ajk et Aki; ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 36
Provided by: Hen1122
Category:
Tags: ajouter | expos

less

Transcript and Presenter's Notes

Title: Expos


1
Exposé GT 24/10/2002
  • Dimitri Lecas

2
(No Transcript)
3

solverMatrix distribuée et factorisée
solverMatrix distribuée
graphe
permutation
symbolMatrix
Scotch
Fax
Blend
Sopalin
solution distribuée
element
ddl
noeud
sequentiel
parallele
global
local
symbolique
numerique
4
Fax
5
Factorisation Symbolique
6
Blend
7

solverMatrix distribuée et factorisée
solverMatrix distribuée
graphe
permutation
symbolMatrix
Scotch
Fax
Blend
Sopalin
solution distribuée
element
ddl
noeud
sequentiel
parallele
global
local
symbolique
numerique
8
Repartitionnement et distribution des blocs
  • ? Gère le parallélisme induit par le creux
    (arbre délimination par blocs).
  • ? Découpe et distribue les blocs afin de prendre
    en compte le parallélisme potentiel induit par
    les calculs en plein .
  • ? Utilise la taille de bloc optimale pour les
    routines BLAS de niveau 3.

9
Arbre délimination par blocs
10
Modélisation coûts calcul et comm
Nombre de processeurs
Matrice symboliquepar blocs
Repartitionnement de la matrice
Estimation du temps de calcul
Graphe de tâches
Distribution et ordonnancement
Espace Mémoire nécessaire
Schéma de communication
Données locales
Ordonnancement tâches
Factorisation et résolution //
11
Modélisation coûts calcul et comm
Nombre de processeurs
Matrice symboliquepar blocs
Repartitionnement de la matrice
Graphe de tâches
Distribution et ordonnancement
Schéma de communication
Données locales
Ordonnancement tâches
Limitation mémoire
Réduction surcoût mémoire
Nouveau schéma de communication
Factorisation et résolution //
12
Modélisation coûts calcul et comm
Nombre de processeurs
Matrice symboliquepar blocs
Repartitionnement de la matrice
Graphe de tâches
Distribution et ordonnancement
Limitation mémoire
Schéma de communication
Données locales
Ordonnancement tâches
Calcul dun schéma I/O pour lOOC
Factorisation et résolution // OOC
Schéma I/O disque
13
Distribution mixte 1D/2D
  • Le solveur gère une distribution 1D ou 2D des
    blocs
  • 1D sur les petits supernodes -gt efficacité BLAS
  • 2D sur les plus gros supernodes -gt scalabilité
  • ? Critère de basculement entre les 2
    distributions

1D block distribution
14
Repartionnement et processeurs candidats
1 2 3 4 5 6 7 8
15
Sopalin
16

solverMatrix distribuée et factorisée
solverMatrix distribuée
graphe
permutation
symbolMatrix
Scotch
Fax
Blend
Sopalin
solution distribuée
element
ddl
noeud
sequentiel
parallele
global
local
symbolique
numerique
17
Lalgorithme de factorisation parallèle
  • A est Symétrique Définie Positive ??
    factorisation sans pivotage
  • Algorithme supernodal de factorisation parallèle
    creuse L.Lt / L.D.Lt avec agrégation locale
    complète et distribution mixte 1D/2D.

18
(No Transcript)
19
Modélisation coûts calcul et comm
Nombre de processeurs
Matrice symboliquepar blocs
Repartitionnement de la matrice
Graphe de tâches
Distribution et ordonnancement
Schéma de communication
Données locales
Ordonnancement tâches
Limitation mémoire
Réduction surcoût mémoire
Nouveau schéma de communication
Factorisation et résolution //
20
Algorithme de la factorisation //
  • FACTOR(k) factoriser le bloc diagonal k
  • Factoriser Akk en LkkLtkk
  • BDIV(j,k) mis-à-jour Ljk
  • Résoudre LkkLjkt Atjk
  • BMOD(i,j,k) calculer la contribution de Lik
    pour le bloc Lij Calculer CjLikLjkt
  • Si map(i,j) p Alors Aij Aij Cj
  • Sinon AUBijAUBij Cj

k
j
Ljk
Lik
Lij
21
Algorithme de la factorisation //
  • COMP1D(k) factoriser le bloc-colonne k et
    calculer toutes les contributions destinées aux
    blocs-colonnes de BCol(k)
  • Factoriser Akk en LkkLtkk
  • Résoudre LkkLt Atk
  • Pour j ? BCol(k) Faire
  • Calculer CjLjkLjkt
  • Si map(j,j) p Alors Ajj Ajj Cj
  • Sinon AUBjjAUBjj Cj

22
Algorithme de la factorisation //
  • Pour n 1 à NTp Faire
  • Selon (le type de Kpn) Faire
  • COMP1D Recevoir et ajouter tous les AUBkk
    dans Akk
  • COMP1D(k)
  • Phase_Envoi()
  • FACTOR Recevoir et ajouter tous les AUBkk
    dans Akk
  • FACTOR(k)
  • envoyer Lkk à tous les processeurs dans
    map(k, k)
  • BDIV Recevoir Lkk et recevoir et ajouter les
    AUBij pour Ajk
  • BDIV(j,k)
  • envoyer Fjt à tous les processeurs dans
    map(j, k)
  • BMOD Recevoir Ljkt
  • BMOD(i,j,k)
  • Phase_Envoi()

23
Structure de données
typedef struct SymbolCblk_ INT
fcolnum // First column index INT
lcolnum // Last column index
(inclusive) INT bloknum //
First block in column (diag.)
SymbolCblk typedef struct SymbolBlok_ INT
frownum // First row index
INT lrownum // Last row
index (inclusive) INT
cblknum // Facing column block INT
levfval // Level-of-fill value
SymbolBlok typedef struct SymbolMatrix_ INT
baseval // Base value for
numberings INT cblknbr //
Number of column blocks INT
bloknbr // Number of blocks SymbolCblk
restrict cblktab // Array of column blocks
SymbolBlok restrict bloktab // Array of
blocks INT nodenbr //
Number of nodes in matrix SymbolMatrix
24
Structure de données
typedef struct SolverMatrix_ SymbolMatrix
symbmtx SolverCblk restrict
cblktab SolverBlok restrict bloktab
INT coefnbr INT
ftgtnbr FLOAT restrict
coeftab FanInTarget restrict ftgttab
int procnum int
procnbr BlockTarget restrict
btagtab INT btagnbr
BlockCoeff restrict bcoftab INT
bcofnbr Task restrict
tasktab INT tasknbr
Ooc restrict oocstr UpDownVector
updovct SolverMatrix typedef
struct SolverCblk_ INT
stride INT procdiag
INT cblkdiag SolverCblk
typedef struct SolverBlok_ INT
coefind SolverBlok
25
Structure de données
  • define COMP_1D 0
  • define DIAG 1
  • define E1 2
  • define E2 3
  • define DRUNK 4
  • typedef struct Task_
  • INT taskid
  • INT prionum
  • INT cblknum
  • INT bloknum
  • INT ctrbcnt
  • BlockTarget btagptr
  • INT indnum
  • INT tasknext Task

26
Structure de données
  • typedef enum
  • FTGT_CTRBNBR 0,
  • FTGT_CTRBCNT,
  • FTGT_PROCDST,
  • FTGT_TASKDST,
  • FTGT_BLOKDST,
  • FTGT_PRIONUM,
  • FTGT_FCOLNUM,
  • FTGT_LCOLNUM,
  • FTGT_FROWNUM,
  • FTGT_LROWNUM,
  • MAXINFO
  • FanInInfo
  • typedef struct FanInTarget_
  • INT infotabMAXINFO
  • FLOAT coeftab
    FanInTarget

27
(No Transcript)
28
Factorisation LU
29
Stockage de la partie U
Transposition
Uk
Lkk
Ukk
Lkk
kkU
Lk
Lk
kU
30
Structure de données
typedef struct SolverMatrix_ SymbolMatrix
symbmtx SolverCblk restrict
cblktab SolverBlok restrict bloktab
INT coefnbr INT
ftgtnbr FLOAT restrict
coeftab FLOAT restrict ucoeftab
FanInTarget restrict ftgttab int
procnum int
procnbr BlockTarget restrict btagtab
INT btagnbr BlockCoeff
restrict bcoftab INT
bcofnbr Task restrict tasktab
INT tasknbr Ooc
restrict oocstr UpDownVector
updovct SolverMatrix typedef struct
SolverCblk_ INT
stride INT procdiag
INT cblkdiag SolverCblk
typedef struct SolverBlok_ INT
coefind SolverBlok
31
Algorithme de la factorisation //
  • FACTOR(k) factoriser le bloc diagonal k
  • Factoriser Akk en LkkUkk
  • BDIV(j,k) mis-à-jour Ljk et Uik
  • Résoudre LkkUki Aki
  • Résoudre Ukk Lik Aik
  • BMOD(i,j,k) calculer la contribution de Lik
    pour le bloc Lij Calculer CjLikUkj
  • Calculer DjLjkUki
  • Si map(i,j) p Alors Aij Aij Cj
  • Aji
    Aji Dj
  • Sinon AUBijAUBij Cj
  • AUBjiAUBji Dj

Ukj
k
j
Ljk
Lik
Lij
32
Algorithme de la factorisation //
  • COMP1D(k) factoriser le bloc-colonne k et
    calculer toutes les contributions destinées aux
    blocs-colonnes de BCol(k)
  • Factoriser Akk en LkkUkk
  • Résoudre LkkUk Ak
  • Résoudre LkUkk Ak
  • Pour j ? BCol(k) Faire
  • Calculer CjLjkUkj
  • Calculer DjLjkUkj
  • Si map(j,j) p Alors Ajj Ajj Cj
    AjjAjj-Dj
  • Sinon AUBjjAUBjj Cj AUBjjAUBjj
    Dj

33
  • Pour n 1 à NTp Faire
  • Selon (le type de Kpn) Faire
  • COMP1D Recevoir et ajouter tous les AUBkk
    dans Akk Recevoir et ajouter tous les AUBkk
    dans Akk
  • COMP1D(k)
  • Phase_Envoi()
  • FACTOR Recevoir et ajouter tous les AUBkk
    dans Akk
  • FACTOR(k)
  • envoyer Lkk et Ukk à tous les processeurs dans
    map(k, k)
  • BDIV Recevoir Lkk et Ukk et recevoir et
    ajouter les AUBij pour Ajk et Aki
  • BDIV(j,k)
  • envoyer Fjt à tous les processeurs dans
    map(j, k)
  • BMOD Recevoir Uki et Lik
  • BMOD(i,j,k)
  • Phase_Envoi()

34
Pivotage Statique
Factorisation ALU avec contrôle de lamplitude
de la diagonale
Si (aii) lt
Alors aii
Resoudre LUx b
Iterer
35
Perspectives
  • Interface externe
  • Portabilité
Write a Comment
User Comments (0)
About PowerShow.com