Paralelní implementace a optimalizace metody BDDC J. Šístek, M. Čertíková, P. Burda, S. Pták, J. Novotný, A. Damašek, FS ČVUT, ÚT AVČR 22.1.2007 / SNA 2007
Osnova Metoda BDDC (Balancing Domain Decomposition with Constraints) Implementace a optimalizace programu Výsledky
Úloha na rozhraní 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
BDDC 2003 C.R.Dohrmann, J.Mandel 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 ks)(u I n u I ) rychlost konvergence: κ(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
oblast rozdělená na subdomény
hrubá úloha úlohy na subdoménách
hrubá úloha úlohy na subdoménách
hrubá úloha úlohy na subdoménách
Algoritmus BDDC 1. sestavení úlohy na rozhraní: eliminace vnitřních uzlů všech subdomén (přímý chod na každé subdoméně) 2. vyřešení úlohy na rozhraní metodou sdružených gradientů, BDDC jako předpodmiňovač v každé iteraci zpětné chody: Dirichletova úloha na každé subdoméně Neumannova úloha na každé subdoméně hrubá úloha 3. dopočítání hodnot řešení ve vnitřních uzlech subdomén (zpětný chod na každé subdoméně)
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 baĺıkem pro analýzy PMD vstupní a výstupní soubory, datové struktury
Paralelní počítače použité pro testování Hastrman: Compaq Alpha server ES 47, ÚT AVČR 4 procesory Alpha EV7 / 1000 MHz operační systém Tru64 UNIX, DEC MPI Lomond: Sun Fire server E15k, EPCC, Edinburgh, UK 52 procesorů UltraSPARC III Cu / 1.2 GHz operační systém Solaris, Sun MPI HPCx: cluster of IBM eserver 575 nodes, Daresbury, UK 2560 procesorů IBM POWER5 / 1.5 GHz operační systém IBM AIX, IBM MPI
Optimalizace - Vampir 9 procesorů, 4 subdomény na procesor
Optimalizace - Vampir 2 subdomény na procesor
Konstrukce náhrady jamky kyčelního kloubu 27 586 kvadratických elementů, 154 247 uzlů, 551 720 stupňů volnosti
Rozdělení na subdomény 32 subdomén, 1600 hrubých uzlů
Napětí Von Mises
Testy škálování Hastrman: sériový frontální algoritmus... 6:40 hod = 400 min počet procesorů 1 2 4 počet subdomén na procesor 32 16 8 celkový čas (minuty) 40 30 27 sériový frontální algoritmus: čas CPU const.n.m 2, kde N... počet neznámých M... horní odhad šířky fronty
Testy škálování, výsledek optimalizace Lomond: sériový frontální algoritmus... více než 36 hod počet procesorů 4 8 16 32 počet subdomén na procesor 8 4 2 1 celkový čas (minuty) 120 68 52 38 počet procesorů 5 9 17 32 počet subdomén na procesor 8 4 2 1 celkový čas (minuty) 113 66 45 33
Hr ı del s dra z kou 483 400 linea rnı ch elementu, 505 312 uzlu, 1 515 936 stupn u volnosti
Rozdělení na subdomény 512 subdomén, 10 000 hrubých uzlů
Deformovaná geometrie
Testy škálování Hastrman: sériový frontální algoritmus... 24:30 hod = 1 470 min HPCx: počet procesorů 16 32 64 počet subdomén na procesor 32 16 8 celkový čas (minuty) 130 87 72
Shrnutí Implementace BDDC byla prověřena na několika praktických úlohách může být efektivnější než frontální algoritmus i na jednom procesoru testována na nejrůznějších paralelních architekturách optimalizována z hlediska komunikace mezi procesory Nejbližší cíle obecnější volba hrubé úlohy lepší porozumění chování metody rozšíření na problémy nelineární pružnosti a mechaniky tekutin