Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6



Podobne dokumenty
Plan wykładu. Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6 p. Rozwiazywanie układów równań. metody bezpośrednie,

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Numeryczna algebra liniowa

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

Układy równań liniowych. Krzysztof Patan

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi. Plan wykładu:

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi

Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów. P. F. Góra

Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Rozwiązywanie układów równań liniowych metody przybliżone Materiały pomocnicze do ćwiczeń z metod numerycznych

Wstęp do metod numerycznych Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Wstęp do metod numerycznych SVD, metody iteracyjne i metoda gradientów. P. F. Góra

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Sposoby tworzenia uwarunkowania wstępnego dla metody gradientów sprzężonych

Matematyka stosowana i metody numeryczne

Metody Obliczeniowe w Nauce i Technice

Wstęp do metod numerycznych Faktoryzacja macierzy. P. F. Góra

5. Rozwiązywanie układów równań liniowych

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Metody numeryczne Wykład 4

WYKŁAD 9 METODY ZMIENNEJ METRYKI

x y

Układy równań liniowych

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Modyfikacja schematu SCPF obliczeń energii polaryzacji

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Metody numeryczne II. Układy równań liniowych

Wartości i wektory własne

Zaawansowane metody numeryczne

Wykład III Układy równań liniowych i dekompozycje macierzy

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Rozwiązywanie układów równań liniowych

3. Macierze i Układy Równań Liniowych

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Programowanie Współbieżne. Algorytmy

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

Algorytmy numeryczne 1

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Wstęp do metod numerycznych Eliminacja Gaussa Faktoryzacja LU. P. F. Góra

Matematyka stosowana i metody numeryczne

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną.

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. P. F. Góra

Podstawy OpenCL część 2

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Wykład 14. Elementy algebry macierzy

Programowanie liniowe metoda sympleks

Matematyczne Podstawy Informatyki

KADD Minimalizacja funkcji

Programowanie dynamiczne

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Obliczenia naukowe Wykład nr 8

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Egzamin z Metod Numerycznych ZSI, Grupa: A

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Liczby zmiennoprzecinkowe i błędy

Wstęp do metod numerycznych Inne rodzaje faktoryzacji. P. F. Góra

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

Obliczenia naukowe Wykład nr 2

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Metody numeryczne I Równania nieliniowe

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Algorytmy i Struktury Danych

Układy równań liniowych i metody ich rozwiązywania

Przykładowy program ćwiczeń

Analiza ilościowa w przetwarzaniu równoległym

3. FUNKCJA LINIOWA. gdzie ; ół,.

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t )

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

Elementy metod numerycznych

1 Macierz odwrotna metoda operacji elementarnych

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

course Imię i Nazwisko organizującego EO1ET3000SBCTOS2 dr inż. Oleg Maslennikow w c Kurs egzaminacyjny Egzamin LICZBA GODZIN

Zastosowania wyznaczników

Metoda elementów skończonych w mechanice konstrukcji / Gustaw Rakowski, Zbigniew Kacprzyk. wyd. 3 popr. Warszawa, cop

Analiza korespondencji

Transkrypt:

Wykład 6 p. 1/?? Obliczenia równoległe w zagadnieniach inżynierskich Wykład 6 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska

Plan wykładu Wykład 6 p. 2/?? Układy równań liniowych i metody ich rozwiazywania Metoda sprzężonych gradientów Macierze rzadkie i cel ich stosowania w obliczeniach numerycznych Sposoby reprezentacji macierzy rzadkich w pamięci komputera Koncepcja realizacji równoległej rozwiazywania układów równań dla architektury z pamięcia rozproszona Realizacja nałożenia się w czasie operacji obliczeniowych i komunikacji Wyniki wydajnościowe

Wykład 6 p. 3/?? Rozwiazywanie układów równań Rozwiazywanie układu równań liniowych (1) A n T n+1 = b n, jest najbardziej czasochłonnym fragmentem obliczeń w metodzie elementów skończonych: Metody rozwiazywania układów równań liniowych można podzielić na dwie podstawowe grupy: metody bezpośrednie, metody iteracyjne.

Metody bezpośrednie Wykład 6 p. 4/?? Metody bezpośrednie prowadza do uzyskania ścisłego rozwiazania po skończonej liczbie kroków. Bazuja one na dekompozycji Gaussa, Choleskiego, itd. Sa one efektywne dla macierzy pełnych oraz macierzy o ściśle określonych strukturach np. macierzy pasmowych, czy też trójdiagonalnych. Dla dużych macierzy, a takie uzyskuje się dla nie trywialnych zadań, metody bezpośrednie wymagaja dużych zasobów pamięci oraz długiego czasu obliczeniowego, dlatego też najbardziej nadaja się one do stosunkowo małych układów równań.

Metody iteracyjne Wykład 6 p. 5/?? Metody iteracyjne polegaja na kolejnym generowaniu przybliżonego rozwiazania, aż do momentu osiagnięcia zadowalajacej dokładności. Metody iteracyjne można podzielić na metody stacjonarne i niestacjonarne. Do metod stacjonarnych można zaliczyć metodę Jacobiego, Gaussa-Seidla wraz z ich wersjami blokowymi, metodę Richardsona, metodę nadrelaksacji czy symetryczna metodę nadrelaksacji. Metody niestacjonarne sa na ogół szybciej zbieżne niż metody stacjonarne. Do najczęściej używanych metod iteracyjnych niestacjonarnych należa: metoda sprzężonych gradientów dla macierzy symetrycznych dodatnio określonych, metody GMRES i podwójnie sprzężonych gradientów Bi-CG-STAB dla macierzy niesymetrycznych.

Rozwiazywanie układów równań - MES (I) Wykład 6 p. 6/?? W praktycznych zadaniach rozwiazywanych przy wykorzystaniu MES macierz współczynników w układzie równań jest duża macierza rzadka. Zastosowanie metod bezpośrednich w tym przypadku okazuje się nieefektywne, ze względu na zasoby pamięci niezbędne do przechowywania macierzy. Nawet przy zastosowaniu macierzy pasmowej i redukcji szerokości pasma efektywność tych metod nie jest zadowalajaca. Istnieja metody pozwalajace na stosowanie metod bezpośrednich dla macierzy rzadkich, ale w takim przypadku występuje problem pojawiania się nowych elementów macierzy w trakcie obliczeń.

Rozwiazywanie układów równań - MES (II) Wykład 6 p. 7/?? Metody iteracyjne okazuja się być w przypadku takich układów równań dużo efektywniejsze, dzięki lepszemu wykorzystaniu faktu, że macierz współczynników jest duża macierza rzadka. Ponadto zbieżność metod iteracyjnych silnie zależy od przyjętego rozwiazania poczatkowego. W przypadku MES można wykorzystać warunki poczatkowe lub wyniki z poprzedniego kroku czasowego, co znacznie poprawia zbieżność metod iteracyjnych, a co za tym idzie przyspiesza rozwiazywanie układu równań.

Metoda sprzężonych gradientów Wykład 6 p. 8/?? Metoda sprzężonych gradientów jest efektywna metoda do rozwiazywania układów równań, z symetryczna i dodatnio określona macierza współczynników. Wykorzystuje ona aproksymację w przestrzeni Kryłowa Dzięki właściwościom macierzy układu, minimalizacja w przestrzeni Kryłowa sprowadza się do minimalizacji wzdłuż kolejnych kierunków poszukiwań, które sa ze soba sprzężone.

Wykład 6 p. 9/?? Algorytm metody sprzężonych gradientów β 0 = 0 r 0 = b Ax 0 p 0 = 0 ρ 0 = (r 0,r 0 ) i = 0 Iteruj dopóki nie jest spełnione kryterium stopu p i+1 = r i + β i p i q i+1 = Ap i+1 α i+1 = ρ i /(q i+1, p i+1 ) x i+1 = x i + α i+1 p i+1 r i+1 = r i α i+1 q i+1 ρ i+1 = (r i+1,r i+1 ) β i+1 = ρ i+1 /ρ i i = i+1

Kryterium stopu Wykład 6 p. 10/?? Aby metoda iteracyjna w poprawny sposób rozwiazywała układ równań musimy prawidłowo określić moment przerwania obliczeń. Decyzja o zakończeniu obliczeń nosi nazwę kryterium stopu. Kryterium to powinno składać się przynajmniej z dwóch elementów: określenia, kiedy bład ε i = x i x jest wystarczaj (ε i < ε), aby można było zakończyć obliczenia, aco mały sprawdzania, czy nie została przekroczona maksymalna liczba iteracji i max.

Przykładowe kryterium stopu Wykład 6 p. 11/?? Bład w i-tej iteracji można obliczyć korzystaj z pojęcia normy euklidesowej, definiowanej jako: ac z wektorów r i b oraz (2) x = ( x 1 2 + x 2 2 +...+ x n 2 ) 1 2. W zwiazku z tym kryterium stopu może wygladać następujaco: (3) iteruj dopóki i i max r i ε i b.

Poprawa uwarunkowania wstępnego Wykład 6 p. 12/?? Zbieżność metod iteracyjnych zależy od właściwości spektralnych (spectral properties) macierzy współczynników układu równań liniowych. W celu polepszenia zbieżności algorytmu iteracyjnego rozwiazywania układów równań stosuje się tzw. poprawę uwarunkowania wstępnego. Polega ono na przetworzeniu układu równań do postaci, dla której otrzymamy takie same rozwiazanie, ale które charakteryzuje się lepszymi właściwościami spektralnymi. Macierz, która jest wykorzystywana do takiej transformacji nosi nazwę preconditionera (preconditioner).

Metody poprawy uwarunkowania wstępnego Wykład 6 p. 13/?? Głównymi przedstawicielami metod poprawy uwarunkowania wstępnego sa metody Jacobiego, Gaussa-Seidla, SOR, SSOR i ich blokowe wersje, ICC, ILU, z rzadka aproksymacja macierzy odwrotnej (SPAI), wielosiatkowa itd. Stosowanie tylu metod wynika z faktu, że nie istnieje jedna najlepsza metoda dla wszystkich rodzajów układów równań. Różne metody poprawy uwarunkowania wstępnego okazuja się najefektywniejsze dla różnych układów równań. Ponadto niektóre metody okazuja się bardziej podatne na implementację równoległa niż inne.

Metoda diagonalna Wykład 6 p. 14/?? Najprostsza metoda poprawy uwarunkowania wstępnego jest metoda diagonalna lub inaczej metoda Jacobiego (Jacobi preconditioning). Brane sa w niej pod uwagę jedynie współczynniki leżace na głównej diagonali macierzy A: (4) m i, j = { A i, j dla i = j, 0 dla i j.

Cel stosowania macierzy rzadkich Wykład 6 p. 15/?? W metodzie elementów skończonych generowane sa duże macierze, w których większość elementów jest zerami. W takim wypadku stosowanie macierzy pełnych, które w prosty sposób moga być zaimplementowane przy pomocy tablicy dwuwymiarowej, jest nieefektywne, głównie ze względu na rozmiar pamięci jaki musi zostać zaalokowany dla takiej tablicy, szczególnie w przypadku dużych tablic. Nie bez znaczenia pozostaje również fakt przetwarzania zerowych elementów macierzy, które zazwyczaj moga być pominięte w obliczeniach. Z tych względów stosuje się formaty macierzy, w których przechowywane sa tylko niezerowe elementy wraz z dodatkowa struktura danych służac a do określenia ich położenia.

Formaty macierzy rzadkich Wykład 6 p. 16/?? Do chwili obecnej zostało opracowanych wiele różnych formatów macierzy rzadkich. Okazuje się bowiem, że nie ma jednego formatu macierzy rzadkiej, który byłby najefektywniejszy dla wszystkich zastosowań. To, który format jest w danej sytuacji najwydajniejszy zależy od struktury i rozmiaru macierzy, operacji jakie będa na niej wykonywane oraz architektury komputera, na którym będa wykonywane obliczenia. Jednym z częściej stosowanych formatów macierzy rzadkich jest format CSR (Compressed Sparse Row).

Wykład 6 p. 17/?? Format CSR W formacie CSR elementy niezerowe macierzy przechowywane sa wierszami w tablicy values, a ich indeksy kolumn w tablicy columns. Poczatek każdego wiersza jest określany poprzez tablicę rows, w której znajduja się indeksy pierwszych elementów poszczególnych wierszy macierzy. A= a 00 a 01 0 0 0 a 11 0 0 a 20 0 a 22 0 0 0 0 a 33 rows = [0 2 3 5 6] columns values = = [0 1 1 0 2 3] [a 00 a 01 a 11 a 20 a 22 a 33 ]

Wykład 6 p. 18/?? Realizacja równoległa (I) Do równoległej implementacji rozwiazywania układu równań na architekturze z pamięcia rozproszona może zostać wykorzystana metoda dekompozycji geometrycznej. Sprowadza się ona do podziału dużego i czasochłonnego zadania na mniejsze podzadania, które można efektywnie rozwiazywać w sposób równoległy. W przypadku, gdy macierz A n jest macierza rzadka, można to zrealizować poprzez podział grafu odpowiadajacego macierzy A n. W przypadku MES dokonuje się to poprzez podział siatki elementów skończonych na skończona liczbę pod-siatek (domen). Domeny te następnie zostaja przydzielone do poszczególnych procesorów architektury równoległej, gdzie sa przetwarzane. Bardzo istotnym czynnikiem wpływajacym na efektywność obliczeń równoległych jest odpowiedni podział siatki elementów skończonych na domeny, tak aby obciażenia obliczeniowe przypadajace na poszczególne procesory były w przybliżeniu takie same, dodatkowo musi być zminimalizowana komunikacja.

Realizacja równoległa (I) Wykład 6 p. 19/?? Każdemu węzłowi siatki elementów skończonych, w zależności od modelowanego zagadnienia, odpowiada jeden lub kilka wierszy układu równań liniowych. Wiersze te stanowia równanie rozwiazywanego zagadnienia dla danego węzła siatki elementów skończonych. Dlatego też po wykonaniu powyższego podziału do każdego procesora przydzielony zostaje pewien podzbiór wierszy układu równań (??). Aby można było w sposób równoległy rozwiazać układ równań liniowych, niezbędny jest etap przetwarzania wstępnego, w czasie którego utworzone zostaja dodatkowe informacje niezbędne do wykonania podstawowych operacji, np. mnożenia macierzy rzadkiej.

Realizacja równoległa (III) Wykład 6 p. 20/?? Dla każdej domeny należy dokonać podziału wierszy ze względu na powiazanie z innymi domenami poprzez elementy: węzły wewnętrzne (n i ) - skojarzone jedynie z węzłami należacymi do danej domeny, węzły graniczne (n b ) - powiazane zarówno z węzłami wewnętrznymi danej domeny, jak również z węzłami należacymi do innych domen, węzły zewnętrzne (n e ) - należace do innych domen, ale skojarzone z węzłami brzegowymi danej domeny. Węzły wewnętrzne i graniczne nosza nazwę węzłów lokalnych a liczbę węzłów w domenie oznaczono przez (n l = n i + n b ). Globaln n g (n g = n l + n e ).

Realizacja równoległa (IV) Wykład 6 p. 21/?? Wiersze przydzielone do danej domeny zostaja następnie przenumerowane w taki sposób, że najpierw znaja się wiersze wewnętrzne, następnie brzegowe, a na końcu zewnętrzne. Układ równań po takim przeorganizowaniu posiada strukturę pokazana na rysunku:

Równoległe rozwiazywanie układu równań Wykład 6 p. 22/?? Podstawowa operacja przy rozwiazywaniu układów równań liniowych metodami iteracyjnymi jest mnożenie macierzy rzadkiej przez wektor postaci: (5) y = A x, gdzie macierz A składa się z części wierszy macierzy A n (??) odpowiadajacym węzłom lokalnym danej domeny. W przypadku, gdy poszczególny węzeł siatki elementów skończonych jest opisany pojedynczym równaniem, macierz A jest macierza prostokatn a o rozmiarze n l n g. Wartości znajdujace się w wektorze y sa zależne od metody rozwiazywania układu równań liniowych oraz od aktualnie przetwarzanej iteracji.

Równoległe rozwiazywanie układu równań Wykład 6 p. 23/?? Po przeorganizowaniu węzłów równanie (??) można przedstawić następujaco: (6) [ y i y b ] = [ A ii A ib 0 A bi A bb A be ] x i gdzie część x e wektora x nie jest obliczana w danym procesorze, a znajduje się w innych procesorach. Składowe zewnętrzne musza zostać najpierw przesłane przez inne procesory do danego procesora, zanim lokalny iloczyn macierzy przez wektor będzie mógł być wyznaczony dla danej domeny. x b x e,

Równoległe rozwiazywanie układu równań Wykład 6 p. 24/?? Dlatego też w etapie wstępnym należy określić, od których procesorów należy poszczególne składowe wektora x odebrać, a co za tym idzie, do których procesorów należy składowe zwiazane z węzłami brzegowymi wysłać. Procesy, z którymi następuje taka wymiana danych dla danej domeny, nosza nazwę procesorów sasiednich (neigboring processors) lub sasiadów.

Wykład 6 p. 25/?? Nałożenie operacji W celu zwiększenia efektywności algorytmu równoległego zaimplementowano nałożenie się w czasie obliczeń oraz komunikacji. Takie nałożenie może wystapić podczas równoległej realizacji mnożenia macierzy rzadkiej przez wektor. W każdym procesorze przed wykonaniem mnożenia macierzy przez wektor zostaja wyliczone lokalne wartości wektora r. Aby w całości przemnożyć macierz A przez wektor r, niezbędne sa dodatkowo wartości wektora r odpowiadajace węzłom zewnętrznym procesora. Jednakże zanim procesor uzyska te wartości możliwe jest wykonanie mnożenia wewnętrznej części macierzy A przez wektor r. Czas jaki jest potrzebny na wykonanie tej operacji może zostać wykorzystany do przesłania przez procesy sasiednie zewnętrznych wartości wektora r do danego procesora. W standardzie MPI znajduja się funkcje (przykładowo MPI_Isend) umożliwiajace zaimplementowanie takiego sposobu organizacji obliczeń.

Wykład 6 p. 26/?? Przykładowe wyniki wydajnościowe Uzyskano parametry przyspieszenia i efektywności zbliżone do wartości idealnych, a w wielu przypadkach uzyskano efekt tzw. superprzyspieszenia (przyspieszenie większe od idealnego). Generalnie efektywność przetwarzania spada wraz ze wzrostem liczby wykorzystywanych do obliczeń procesorów i zmniejszaniem się rozmiaru zadania. Przyspieszenie Efektywność 16 14 12 N=40613 N=80401 N=159613 N=249925 N=501001 N=750313 1.1 1.05 speedup 10 8 6 efficiency 1 0.95 4 2 0 0 2 4 6 8 10 12 14 16 number of processors N=40613 N=80401 0.9 N=159613 N=249925 N=501001 N=750313 0.85 0 2 4 6 8 10 12 14 16 number of processors