1. ˇ s ı
Reˇen´ rozs´ hl´ ch inˇen´ rsk´ ch uloh na paraleln´ch
a y z y y ´ ı
poˇ´taˇ´ch
cı cı
Obhajoba disertaˇ n´ pr´ ce
c ı a
Jaroslav Broˇ
z
Katedra mechaniky
Fakulta stavebn´
ı
ˇ
CVUT v Praze
10. bˇezen 2011
r
2. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Obsah
1 Paraleln´ implementace metody sdruˇen´ ch gradient˚
ı z y u
2 Impementace pˇedpodm´nˇ n´ pro metodu FETI
r ı e ı
3 V´ bˇ r fixuj´c´ch uzl˚ pro metodu FETI-DP
y e ı ı u
4 Z´ vˇ r a budouc´ pr´ ce
a e ı a
3. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pˇedpodm´nˇ n´ metody sdruˇen´ ch gradient˚
r ı e e z y u
Algoritmus pˇedpodm´nˇ n´ metody sdruˇen´ ch gradient˚
r ı e e z y u
x0 = 0
r0 = b
z0 = C−1 r0
d 0 = z0
i=0
rT r
while i ≤ imax or tol < iT i do
bb
rT z
αi = Ti i
di Adi
ri+1 = ri − αi Adi
xi+1 = xi + αi di
zi+1 = C−1 ri+1
rT zi+1
βi = i+1 z
rT i
i
di+1 = zi+1 + βi di
i=i+1
end while
4. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Implementace metody
Paraleln´ implementace metody sdruˇen´ ch gradient˚
ı z y u
Implementov´ na do volnˇ dostupn´ ho programov´ ho bal´ku
a e e e ı
SIFEL
Paralelizaˇ n´ sch´ ma Master - Slaves
c ı e
MASTER
send
send send
receive
receive receive
SLAVE 1 SLAVE 2 SLAVE 3
Knihovna MPICH2 pro mezi-procesorovou komunikaci
5. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Implementace metody
Algoritmus BPCG - paraleln´ n´ soben´ matice s vektorem a
ı a ı
paraleln´ skal´ rn´ souˇ in
ı a ı c
rT zi
i
αi =
dT Adi
i
ri+1 = ri − αi Adi
rT zi+1
i+1
βi =
rT zi
i
Knihovna PETSc pro nekompletn´ LU faktorizaci matice
ı
z0 = C−1 r0
zi+1 = C−1 ri+1
kde C = LU + E
6. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Numerick´ testy
e
Porovn´ n´ BPCG algoritmu, sekvenˇ n´ho CG algorimu a PETSc CG algoritmu
a ı c ı
200
SIFEL SEQ CG
190 PETSC SEQ CG
180 BPCG 2sd
BPCG 4sd
170
160
Čas řešení soustavy rovnic [s]
150
140
130
120
110
100
90
80
70
60
50
40
30
20
10
0
0 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000
Počet stupňů volnosti v problému
7. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Numerick´ testy
e
Porovn´ n´ ILU pˇedpodm´nˇ n´ ho a nepˇedpodm´nˇ n´ ho algoritmu BPCG
a ı r ı e e r ı e e
35000
4d nepředpodmíněno
32500 4d PETSc ILU
9d nepředpodmíněno
9d PETSc ILU
30000
27500
25000
22500
Počet iterací
20000
17500
15000
12500
10000
2200
7500 4d nepředpodmíněno
2100 4d PETSc ILU
5000 2000 9d nepředpodmíněno
1900 9d PETSc ILU
2500
1800
0 1700
0 500000 1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06 1600
Počet stupňů volnosti v problému
Celkový čas řešení [s]
1500
1400
1300
1200
1100
1000
900
800
700
600
500
400
300
200
100
0
0 500000 1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06
Počet stupňů volnosti v problému
8. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Metoda FETI
Metoda FETI
Hrub´ probl´ m
y e
F G λ g
= (1)
GT 0 α e
m
F= Bj K + BT
j j G = (−B1 R1 , −B2 R2 , . . . , −Bm Rm , )
j=1 T T T
m eT = −RT f 1
1 , −RT f 2
2 , . . . , RT fm
m
g= Bj K + f j T
j αT = αT , αT , . . . , αT ,
1 2 m
j=1
ˇ s ı
Reˇen´ hrub´ ho probl´ mu
e e
Matice soustavy hrub´ ho probl´ mu je symetrick´ a positivnˇ
e e a e
ˇ sen´ redukovan´ ho hrub´ ho probl´ mu pomoc´
semidefinitn´ → Reˇ ı
ı e e e ı
modifikovan´ metody sdruˇen´ ch gradient˚
e z y u
9. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Metoda FETI
Modifikovan´ metoda sdruˇen´ ch gradient˚
a z y u
Inicializace Iterace
λ0 = G GT G
−1
e k=0
m0 = g − Fλ0 while k ≤ kmax or
tol > (mk ) gmk do
T
w0 = Pm0 gT
h0 = PC−1 w0
ID|L
T
(hk ) wk
δk = T
d 0 = h0 (dk ) Fdk
λk+1 = λk + δk dk
mk+1 = mk − δk Fdk
wk+1 = Pmk
hk+1 = PC−1 wk+1
ID|L
(wk+1 )hk+1
βk =
(hk )wk
dk+1 = hk+1 + βk dk
k =k+1
end while
10. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Pˇedpodm´nˇ n´ metody FETI
r ı e ı
Typy pˇedpodm´nˇ n´
r ı e ı
Dirichletovo pˇedpodm´nˇ n´
r ı e ı
N
¯ −1 0 0 T
CID = Bs (s) B(s)
n=1
0 Sbb
(s) (s) (s)T (s)−1 (s)
Sbb = Kbb − Kib Kii Kib
Lumped pˇedpodm´nˇ n´
r ı e ı
N
¯ −1 0 0 T
CIL = Bs (s) B(s)
n=1
0 Kbb
11. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Numerick´ experimenty
e
225
nepředpodmíněno
dirichlet
200 lumped
175
150
Počet iterací
125
100
75
50
1400
25 nepředpodmíněno
1300 lumped
dirichlet
0 1200
0 20 40 60 80 100 120 140 160 180 200 220 240 260
Počet podoblastí 1100
Celkový čas řešení [s]
1000
900
800
700
600
500
400
300
200
100
0
0 20 40 60 80 100 120 140 160 180 200 220 240 260
Počet podoblastí
12. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Numerick´ experimenty
e
400
nepředpodmíněno
375 lumped
dirichlet
350
325
300
275
250
Počet iterací
225
200
175
150
125
100
75
50 600
575 nepředpodmíněno
25 550 lumped
dirichlet
0 525
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 500
Počet podoblastí 475
450
Celkový čas řešení [s]
425
400
375
350
325
300
275
250
225
200
175
150
125
100
75
50
25
0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70
Počet podoblastí
13. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Metoda FETI-DP
Hrub´ probl´ m
y e
FIrr FIrc λ dr
= (2)
FTrc
I −K ∗
cc uc −f ∗c
s=Ns s=Ns
−1 T −1 T
FIrr = Bs K s Bs
r rr r FIrc = Bs K s K s Bs
r rr rc c
s=1 s=1
s=Ns
−1
K ∗ = K cc −
cc (K s Bs )T K rr (K s Bs )
rc c
s
rc c
s=1
s=Ns s=Ns
−1 T T −1
dr = Bs K s f s
r rr r f∗ = fc −
c Bs K s K rr f s
c rc
s
r
s=1 s=1
14. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Metoda FETI-DP
Redukovan´ probl´ m na rozhran´
y e ı
−1 −1
FIrr + FIrc K ∗ FTrc λ = dr − FIrc K ∗ f ∗
cc I cc c (3)
ˇ s ı
Reˇen´ hrub´ ho probl´ mu
e e
Matice soustavy hrub´ ho probl´ mu je symetrick´ a positivnˇ definitn´
e e a e ı
ˇ s ı
→ Reˇen´ redukovan´ ho hrub´ ho probl´ mu pomoc´ metody
e e e ı
sdruˇen´ ch gradient˚
z y u
15. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Fixuj´c´ uzly
ı ı
Probl´ my s v´ bˇ rem fixuj´c´ch uzl˚
e y e ı ı u
u ı ˇa
Definice z p˚ vodn´ho cl´ nku produkuje mnoho fixuj´c´ch uzl˚
ı ı u
Existuj´ pouze n´ stroje na rozklad s´tˇ na podoblasti (METIS,
ı a ıe
JOSTLE, CHACO atd.) - zaloˇ eny na dˇ len´ grafu
z e ı
Omezen´ data - k dispozici pro v´ bˇ r je pouze s´t’ koneˇ n´ ch
a y e ı c y
prvk˚
u
16. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 2D
y e ı ı u
Definice fixuj´c´ch uzl˚ ve 2D
ı ı u
4 6 4 8
Ω3 Ω6 Ω9
Ω3
10 12
2 8 3 7
Ω2 Ω5 Ω8
Ω1 Ω4
9 11
1 7 2 6
Ω1 Ω4 Ω7
Ω2
3 5 1 5
17. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 2D
y e ı ı u
Kontrola v´ bˇ ru fixuj´c´ch uzl˚
y e ı ı u
Kontrola poˇ tu vybran´ ch fixuj´c´ch uzl˚
c y ı ı u
1
Ω2
Ω1 3
2
Geometrick´ v´ bˇ r fixuj´c´ch uzl˚
y y e ı ı u
Kontrola vzd´ lenost´ mezi fixuj´c´mi uzly
a ı ı ı
18. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 2D
y e ı ı u
Rozˇ´ren´ algoritmus
sı ˇ y
Zaloˇ en na rozdˇ len´ hraniˇ n´ho grafu
z e ı c ı
Dalˇ´ fixuj´c´ uzly je moˇ n´ vybrat jako
sı ı ı z e
Bj
1 centra podgraf˚
u
Bj
2 konce podcest v podgrafu Bj
3 n n´ hodnˇ vybran´ ch vrcholu podgraf˚
a e y u
Bj
19. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 2D
y e ı ı u
Numerick´ experimenty - Patro
e
ˇ r
Ctyˇi podoblasti Deset podoblast´
ı
20. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 2D
y e ı ı u
Numerick´ experimenty - Patro
e
475
10sd podcesty
450 10sd náhodně
4sd podcesty
4sd náhodně
425 10sd minimum
10sd centrum
Počet iterací v hrubém problému
400 10sd optimum
4sd minimum
4sd centrum
375 4sd optimum
350
325
300
275
250
200
225 10sd podcesty
190 10sd náhodně
200 4sd podcesty
180 4sd náhodně
175 10sd minimum
170 10sd centrum
10sd optimum
150 4sd minimum
0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 160 4sd optimum
Celkový čas řešení [s]
Počet fixujících uzlů v problému 4sd centrum
150
140
130
120
110
100
90
80
70
60
50
0 25 50 75 100 125 150 175 200 225 250 275 300 325 350
Počet fixujících uzlů v problému
21. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Definice
Kostka rozloˇ en´ do osmi
z a
podoblast´ı Hraniˇ n´ graf B
c ı
22. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Definice
Hraniˇ n´ graf kˇivek C
c ı r
Hraniˇ n´ graf ploch P
c ı
23. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Kontrola v´ bˇ ru fixuj´c´ch uzl˚
y e ı ı u
Kontrola poˇ tu vybran´ ch fixuj´c´ch uzl˚
c y ı ı u
Geometrick´ v´ bˇ r fixuj´c´ch uzl˚
y y e ı ı u
Kontrola vzd´ lenost´ mezi fixuj´c´mi uzly
a ı ı ı
24. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Rozˇ´ren´ algoritmus
sı ˇ y
z eˇ
Zaloˇ en t´ z na v´ bˇ ru vrchol˚ z hraniˇ n´ch podgraf˚ ploch Pj
y e u c ı u
Dalˇ´ fixuj´c´ uzly je moˇ n´ vybrat jako
sı ı ı z e
1 centra podgraf˚ Pj
u
2 m n´ hodnˇ vybran´ ch vrchol˚ podgrafu Pj
a e y u
25. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Rozˇ´ren´ algoritmus
sı ˇ y
z eˇ
Zaloˇ en t´ z na v´ bˇ ru vrchol˚ z hraniˇ n´ch podgraf˚ ploch Pj
y e u c ı u
Dalˇ´ fixuj´c´ uzly je moˇ n´ vybrat jako
sı ı ı z e
1 centra podgraf˚ Pj
u
2 m n´ hodnˇ vybran´ ch vrchol˚ podgrafu Pj
a e y u
26. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Numerick´ experimenty - Pˇehrada
e r
155
křivky - podcesty
150 křivky- náhodně
plochy - náhodně
145 minimum
křivky - centum
140 plochy - centurm
Počet iterací v hrubém problému
135
130
125
120
115
110
105
100
95 1130
křivky podcesty
90 1125 křivky náhodně
plochy náhodně
85 1120 minimum
křivky - centum
80 1115 plochy - centurm
75 1110
0 25 50 75 100 125 150 175 200 225 250 275 300 1105
Celkový čas řešení [s]
Počet fixujících uzlů v problému 1100
1095
1090
1085
1080
1075
1070
1065
1060
1055
1050
1045
0 25 50 75 100 125 150 175 200 225 250 275 300
Počet fixujících uzlů v problému
27. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Numerick´ experimenty - Pˇehrada
e r
28. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ ve 3D
y e ı ı u
Numerick´ experimenty - Most
e
29. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Z´ vˇ r a budouc´ pr´ ce
a e ı a
Provedena paraleln´ implementace metody sdruˇ en´ ch gradient˚
ı z y u
Provedena implementace pˇedpodm´nˇ m´ metody FETI do
r ı e ı
pogramu SIFEL
Vyvinut algoritmus pro v´ bˇ r fixuj´c´ch uzl˚ pro libovolnou s´t’.
y e ı ı u ı
Budouc´ pr´ ce: Optimalizace algoritm˚ , automatick´ volba poˇ tu
ı a u a c
fixuj´c´ch uzl˚
ı ı u
30. Obsah Paraleln´ implementace CG
ı FETI pˇedpodm´nˇ n´
r ı e ı Fixuj´c´ uzly
ı ı Z´ vˇ r a budouc´ pr´ ce
a e ı a Podˇ kov´ n´
e a ı
Podˇ kov´ n´
e a ı
Dˇ kuji V´ m za Vaˇi pozornost.
e a s
Pr´ ce na t´ to disertaˇ n´ pr´ ci byla financov´ na n´ sleduj´c´mi projekty
a e c ı a a a ı ı
grant HPC-EUROPA++ (ˇ´slo projektu 211437) a
cı
HPC-EUROPA2 (ˇ´slo projektu 228398) Pan-European research
cı
infrastructure on high performance computing for 21st century
science funded under Seventh Framework Programme
ˇ ˇ a
intern´ grant CVUT (IGS) CTU0805511 Sk´ lovatelnost metod
ı
dom´ nov´ dekompozice
e e
ˇ
grant GA CR 103/09/H078 Computer and experimental analysis
of civil engineering materials and their multilayered systems
ˇ
grant GA CR 103/07/1455 Modelling of Reinforcement-Matrix
Interaction
ı ˇ
intern´ grant CVUT (SGS) SGS10/020/OHK1/1T/11 Pokroˇ il´ c e
algoritmy pro numerickou anal´ zu a modelov´ n´
y a ı