Aplikace metody BDDC v problémech pružnosti P. Burda, M. Čertíková, E. Neumanová, J. Šístek A. Damašek, J. Novotný FS ČVUT, ÚT AVČR 14.9.2006 / SAMO 06 (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 1 / 46
Osnova 1 Řešená úloha 2 Metoda BDDC (Balancing Domain Decomposition with Constraints) DD s disjunktními subdoménami Předpodmiňovač BDDC 3 Implementace 4 Aplikace na reálné problémy 5 Závěr (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 2 / 46
Osnova 1 Řešená úloha 2 Metoda BDDC (Balancing Domain Decomposition with Constraints) DD s disjunktními subdoménami Předpodmiňovač BDDC 3 Implementace 4 Aplikace na reálné problémy 5 Závěr (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 3 / 46
Řešená úloha Ku = f... diskretizace úlohy PDR na dané oblasti Vlastnosti matice K (symetrická pozitivně definitní) řídká nestrukturovaná špatně podmíněná velká (řádově 10 5, 10 6 ) (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 4 / 46
Příklad matice tuhosti (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 5 / 46
Osnova 1 Řešená úloha 2 Metoda BDDC (Balancing Domain Decomposition with Constraints) DD s disjunktními subdoménami Předpodmiňovač BDDC 3 Implementace 4 Aplikace na reálné problémy 5 Závěr (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 6 / 46
Matice tuhosti - příspěvky subdomén (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 7 / 46
Matice tuhosti po permutaci (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 8 / 46
Algebraický popis úlohy Ku = f K = K 1 OO K 2 OO K 3 OO K 1 IO K 2 IO K 3 IO KOI 1 KOI 2 K OI 3 K II u = u 1 O u 2 O u 3 O ui f = f 1 O f 2 O f 3 O fi K II = R i T K i II Ri f I = R i T f i I (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 9 / 46
Úloha na interface Ku = f = Su I = g S - Schurův doplněk - součet lokálních Schurových doplňků: S = R i T S i R i, kde S i = K i II K i IO (K i OO ) 1 K i OI g = R i T g i, kde g i = f i I K i IO (K i OO ) 1 f i O (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 10 / 46
Řešení úlohy na interface řešení soustavy na interface Su I = g : přímé metody (eliminace) iterační metody (PCG) (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 11 / 46
PCG u 0, r 0 = g Su 0, β 1 = 0 iterace pro k = 1, 2,... z k 1 = M 1 r k 1 β k = z k 1, r k 1 / z k 2, r k 2 [ p k = z k 1 + β k p k 1 p 1 = z 0] α k = z k 1, r k 1 / p k, Sp k u k = u k 1 + α k p k r k = r k 1 α k Sp k (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 12 / 46
Iterační metoda jako předpodmiňovač Řešená soustava Su I = g M 1... předpodmiňovač Richardsonova metoda s předpodmíněním u I = u I + ρm 1 (g Su I ) u I n+1 = u I n + ρm 1 (g Su I n ) (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 13 / 46
BDDC metoda BDDC 2003 C.R.Dohrmann, J.Mandel metoda typu Neumann-Neumann aditivní Schwarzova metoda (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 14 / 46
Metody typu Neumann-Neumann 1 u n I - odhad řešení na interface 2 řešení Dirichletovy úlohy na subd.: u n I (u i ) n 3 residuum na subdoménách: (u i ) n (r i ) n 4 residuum na interface : r n I = R i T (r i ) n 5 rozdělení resid.r n I mezi subdomény: (r i I ) n 6 řešení Neumannovy úlohy na subd.: (r i I ) n (u i ) n+1 (r i I ) n - normálové derivace na interface 7 složení řeš. (u i ) n+1 na interface u n+1 I (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 15 / 46
Dělení residua a skládání řešení rozdělení resid.r I n mezi subdomény: (r I i ) n složení řeš. (u i ) n+1 na interface u I n+1 například w i = S i jj / S kk - podíl odpovídajících diag. prvků lokální a glob. matice (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 16 / 46
Hrubý problém oblast rozdělená na subdomény (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 17 / 46
Hrubý problém hrubý problém problémy na subdoménách (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 18 / 46
Hrubý problém hrubý problém problémy na subdoménách (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 19 / 46
Hrubý problém hrubý problém problémy na subdoménách (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 20 / 46
Algebraický zápis BDDC BDDC jako Richardsonova metoda u I n+1 = u I n + M 1 (g Su I n ), kde M 1 = W0 T S 1 0 W 0 + W1 T S 1 1 W 1 +... + Wk T S 1 k W k BDDC jako Schwarzova aditivní metoda u I n+1 u I = (I W T 0 S 1 0 W 0S... W T k S 1 k W k S)(u I n u I ) (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 21 / 46
konvergenční vlastnosti BDDC rychlost konvergence nezávisí na počtu subdomén: κ(m 1 S) const( 1 + log 2 (H/h) ) H... charakteristická velikost subdomény h... charakteristická velikost elementu při zachování stálého poměru H/h se nezhoršuje konvergence metody (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 22 / 46
Osnova 1 Řešená úloha 2 Metoda BDDC (Balancing Domain Decomposition with Constraints) DD s disjunktními subdoménami Předpodmiňovač BDDC 3 Implementace 4 Aplikace na reálné problémy 5 Závěr (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 23 / 46
Cíle implementace multiplatformní řešič se snadnou přenositelností jazyk Fortran 77 paralelní počítače s distribuovanou pamětí knihovna MPI jednoduchost a srozumitelnost programu stejné dělení paměti na procesorech,... nezávislost úlohy na počtu dostupných procesorů umožnění případu nproc nsub maximální využití existujících ověřených procedur užití frontálního řešiče kompatibilita s existujícím inženýrským balíkem pro analýzy PMD vstupní a výstupní soubory, datové struktury (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 24 / 46
Hlavní operace v algoritmu přípravná část vytvoření vnořovacích matic pole indexů faktorizace subdoménových matic s vazebními podmínkami frontální algoritmus faktorizace subdoménových matic pro statickou kondenzaci frontální algoritmus výpočet tvarových funkcí hrubého problému sestavení matice tuhosti hrubého problému faktorizace matice hrubého problému frontální algoritmus (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 25 / 46
Hlavní operace v algoritmu řešení PCG akce předpodmiňovače obnáší 1 řešení hrubého problému a opravu od hrubého řešení 2 řešení nezávislých subdoménových problémů a opravu od subdoménového řešení násobení maticí soustavy po subdoménách výpočet přes statickou kondenzaci výpočet skalárních součinů, norem vektorů dopočtení řešení ve vnitřních uzlech oblastí (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 26 / 46
Požadavky na komunikaci mezi procesory algoritmus BDDC vyžaduje 4 druhy komunikace, spojené s hrubým problémem globální charakter komunikace (MPI REDUCE) proměnné na interface point to point komunikace s náhodným pořadím (MPI ISEND, MPI IRECV, MPI WAITALL) postprocessing spolupráce na globálním vektoru řešení (MPI REDUCE) výpočet norem a skalárních součinů vektorů (MPI ALLREDUCE) (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 27 / 46
Osnova 1 Řešená úloha 2 Metoda BDDC (Balancing Domain Decomposition with Constraints) DD s disjunktními subdoménami Předpodmiňovač BDDC 3 Implementace 4 Aplikace na reálné problémy 5 Závěr (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 28 / 46
Paralelní počítače použité pro testování Sun Fire server E15k Lomond EPCC, Edinburgh 52 procesorů UltraSPARC III Cu 1.2-GHz sdílená pamět, při použití MPI pracuje jako s distribuovanou pamětí operační systém Solaris, Sun MPI Compaq Alpha server ES47 / 1000 MHz Hastrman Ústav termomechaniky, Praha 4 procesory Alpha EV7 sdílená pamět, při použití MPI pracuje jako s distribuovanou pamětí operační systém Tru64 UNIX, DEC MPI (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 29 / 46
Dýza turbíny 2 696 elementů, 13 418 uzlů, 40 254 stupňů volnosti (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 30 / 46
Napětí Von Mises (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 31 / 46
Napětí Von Mises (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 32 / 46
12 subdomén manuálně, 218 uzlů hrubé sítě, 172 iterací PCG Frame 001 10 Sep 2006 DYZA X Z Y (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 33 / 46
Dýza turbíny - měření reálného času (sec) Lomond: PMD fefs - 259 s nproc 1 2 4 8 12 nsub/proc 12 6 3 2 1 faktorizace 40 28 14 12 7 iterace pcg 1 251 820 441 319 188 celkem 1 292 848 456 319 195 Hastrman: PMD fefs - 75 s nproc 1 2 3 4 nsub/proc 12 6 4 3 faktorizace 23 17 12 10 iterace pcg 128 81 79 55 celkem 152 99 91 65 (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 34 / 46
12 subdomén automaticky, 250 uzlů hrubé sítě, 31 iterací PCG Frame 001 9 Sep 2006 DYZA XZ Y (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 35 / 46
Dýza turbíny - měření reálného času (sec) Lomond: PMD fefs - 259 s nproc 1 2 3 4 6 12 nsub/proc 12 6 4 3 2 1 faktorizace 83 44 36 30 22 16 iterace pcg 379 198 147 126 86 62 celkem 463 242 183 157 109 78 Hastrman: PMD fefs - 75 s nproc 1 2 3 4 nsub/proc 12 6 4 3 faktorizace 50 29 22 19 iterace pcg 38 24 20 19 celkem 89 60 44 38 (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 36 / 46
Konstrukce náhrady jamky kyčelního kloubu 27 586 elementů, 154 247 uzlů, 551 720 stupňů volnosti (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 37 / 46
Napětí Von Mises (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 38 / 46
4 subdomény manuálně, 20 uzlů hrubé sítě, 33 iterací PCG Frame 001 9 Sep 2006 CELEKT Y Z X (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 39 / 46
Náhrada kyčelního kloubu - měření reálného času (sec) Hastrman: PMD fefs - 23 936 s nproc 1 2 4 nsub/proc 4 2 1 faktorizace 7 653 4 335 3 251 iterace pcg 11 572 10 514 14 040 celkem 19 310 14 907 17 321 (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 40 / 46
4 subdomény automaticky, 20 uzlů hrubé sítě, 61 iterací PCG Frame 001 1 Sep 2006 CELEKT YZ X (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 41 / 46
32 subdomén automaticky, 1600 uzlů hrubé sítě, 27 iterací PCG Frame 001 8 Sep 2006 CELEKT Y Z X (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 42 / 46
Náhrada kyčelního kloubu - měření reálného času (sec) Hastrman: PMD fefs - 23 936 s nproc 1 2 4 nsub/proc 32 16 8 faktorizace 1 607 1 259 542 iterace pcg 770 543 1 049 celkem 2 406 1 819 1 600 (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 43 / 46
Osnova 1 Řešená úloha 2 Metoda BDDC (Balancing Domain Decomposition with Constraints) DD s disjunktními subdoménami Předpodmiňovač BDDC 3 Implementace 4 Aplikace na reálné problémy 5 Závěr (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 44 / 46
Shrnutí studium metod domain decomposition pro lineární úlohy vyvinutí paralelní verze implementace metody BDDC program otestován na několika paralelních strojích (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 45 / 46
Výhled optimalizace programu na velkých úlohách lepší pochopení závislostí mezi počet iterací číslo podmíněnosti počet subdomén velikost interface velikost hrubého problému rozšíření na problémy nelineární pružnosti a mechaniky tekutin (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 46 / 46