Numeryczna algebra liniowa

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

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

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

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

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

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

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

Układy równań liniowych. Krzysztof Patan

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

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

Algorytmy numeryczne 1

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

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

Analiza ilościowa w przetwarzaniu równoległym

Metody numeryczne Wykład 4

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

Metody Obliczeniowe w Nauce i Technice

Rozdział 21, który przedstawia zastosowanie obliczeń wysokiej wydajności w numerycznej algebrze liniowej

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

Przykładowy program ćwiczeń

Dr inż. hab. Siergiej Fialko, IF-PK,

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

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

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

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

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

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

Matematyka stosowana i metody numeryczne

Analiza efektywności przetwarzania współbieżnego

Wykład z Technologii Informacyjnych. Piotr Mika

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

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

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Programowanie współbieżne Wykład 2. Iwona Kochańska

Macierzowe algorytmy równoległe

Równoległe algorytmy sortowania. Krzysztof Banaś Obliczenia równoległe 1

Programowanie procesorów graficznych GPGPU

2. Układy równań liniowych

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Układy równań liniowych

Karta (sylabus) przedmiotu

Drgania poprzeczne belki numeryczna analiza modalna za pomocą Metody Elementów Skończonych dr inż. Piotr Lichota mgr inż.

PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Krótkie wprowadzenie do macierzy i wyznaczników

Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

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

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

5. Model komunikujących się procesów, komunikaty

Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Obliczenia Wysokiej Wydajności

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

Technologie informacyjne - wykład 12 -

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

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

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie

Zasady projektowania algorytmów równoległych

16. Taksonomia Flynn'a.

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

Algorytmy i Struktury Danych

Matematyka stosowana i metody numeryczne

KARTA MODUŁU KSZTAŁCENIA

Zwięzły kurs analizy numerycznej

Przykładowe zadania na egzamin z matematyki - dr Anita Tlałka - 1

A A A A A A A A A n n

ALGEBRA LINIOWA Z GEOMETRIĄ, LISTA ZADAŃ NR 8

Zaawansowane metody numeryczne

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

2.1. Postać algebraiczna liczb zespolonych Postać trygonometryczna liczb zespolonych... 26

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

Operacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1

Programowanie Współbieżne. Algorytmy

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Szczegółowy program kursów szkoły programowania Halpress

UKŁADY RÓWNAŃ LINIOWYCH

Macierze. Rozdział Działania na macierzach

Wykład 14. Elementy algebry macierzy

Transkrypt:

Numeryczna algebra liniowa

Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów równań liniowych czy znajdowanie wartości własnych

Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional decomposition): standardowe złożone aplikacje (np. z obsługą plików, korektą poprawności w trakcie pracy itp.) złożony problem optymalizacji

Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional decomposition): standardowe złożone aplikacje (np. z obsługą plików, korektą poprawności w trakcie pracy itp.) złożony problem optymalizacji Podział struktury danych (data decomposition) sortowanie tablic rozwiązywanie układów równań liniowych

Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional decomposition): standardowe złożone aplikacje (np. z obsługą plików, korektą poprawności w trakcie pracy itp.) złożony problem optymalizacji Podział struktury danych (data decomposition) sortowanie tablic rozwiązywanie układów równań liniowych Podział w dziedzinie problemu (domain decomposition) symulacje zjawisk fizycznych w przestrzeni (wykorzystanie podziału geometrycznego geometric decomposition)

Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional decomposition): standardowe złożone aplikacje (np. z obsługą plików, korektą poprawności w trakcie pracy itp.) złożony problem optymalizacji Podział struktury danych (data decomposition) sortowanie tablic rozwiązywanie układów równań liniowych Podział w dziedzinie problemu (domain decomposition) symulacje zjawisk fizycznych w przestrzeni (wykorzystanie podziału geometrycznego geometric decomposition) Podział złożony, mający cechy i podziału funkcjonalnego i danych: przetwarzanie potokowe (np. sekwencji obrazów)

Problemy embarrassingly parallel brak zależności minimalizacja komunikacji Problemy z zależnościami potrzeba komunikacji

Komunikacja wewnątrz wątku zawsze powoduje opóźnienie W czasie komunikacji zasoby maszyny są używane na pakowanie i transmisje danych Synchronizacja zadań wymuszona komunikacją powoduje nierównomierne obciążenie wątków Duży ruch na kanałach przesyłu może przepełnić możliwości maszyny i spowodować dalsze spowolnienie

Opóźnienie (latency) czas potrzebny do przesłania minimalnej (zerowej) porcji danych z wątku A do B. Przepustowość (bandwidth) ilość danych możliwych do przesłania w jednostce czasu. Przesyłanie dużej ilości małych komunikatów powoduje wzrost roli opóźnienia w czasie komunikacji!

Równoważenie podziału pracy Równoważenie podziału danych Równoważenie podziału iteracji pętli Równoważenie obciążenia na systemach heterogenicznych Dynamiczny przydział pracy task pool

Stosunek obliczeń do komunikacji Obliczenia od komunikacji oddziela synchronizacja Równoległość drobnoziarnista Stosunkowo niewielkie ilości pracy obliczeniowej są wykonywane między zdarzeniami komunikacyjnymi Niski stosunek mocy obliczeniowej do komunikacji Ułatwia równoważenie obciążenia Sugeruje wysokie koszty komunikacji i mniejsze możliwości poprawy wydajności Jeśli ziarnistość jest zbyt drobna, możliwe, że narzut wymagany do komunikacji i synchronizacji między zadaniami zajmuje więcej czasu niż obliczenia.

Równoległość gruboziarnista Stosunkowo duże ilości pracy obliczeniowej są wykonywane między zdarzeniami komunikacji /synchronizacji Wysoki stosunek obliczeń do komunikacji Oznacza większe możliwości zwiększenia wydajności Trudniej jest efektywnie zrównoważyć obciążenie.

Istotnym elementem wszelkich równoległych algorytmów macierzowych jest określenie rozdzielenia (dystrybucji) macierzy i wektorów na poszczególne procesory pasmowe kolumnowe lub wierszowe: blokowe cykliczne blokowo cykliczne szachownicowe: blokowe cykliczne blokowo cykliczne

Mnożenie macierz wektor dla podziału pasmowego wierszowego algorytm analiza czasu działania i przyspieszenia obliczeń dla podziału szachownicowego algorytm analiza czasu działania i przyspieszenia obliczeń

Macierze zawierające większość zer nazywane są macierzami rzadkimi Macierze takie powstają np. jako efekt aproksymacji równań różniczkowych cząstkowych typowymi metodami MRS, MES, MOS Praktycznym kryterium rzadkości macierzy jest wykazanie, że klasyczne algorytmy dla macierzy gęstych są wolniejsze od specjalnych algorytmów dla macierzy rzadkich

Specjalne algorytmy dla macierzy rzadkich uwzględniają specjalne sposoby przechowywania macierzy, w których w pamięci komputera umieszcza się tylko wyrazy niezerowe Jest wiele schematów przechowywania macierzy rzadkich Wybór konkretnego schematu zależy od struktury macierzy (układ wyrazów niezerowych w macierzy) i algorytmu, w którym występuje macierz

Formaty: naturalny oparty na współrzędnych CRS skompresowany wierszowy CCS skompresowany kolumnowy CDS diagonalny ITPACK uproszczony postrzępiony diagonalny Dla każdego z formatów istnieją odpowiednie wersje algorytmów realizujących podstawowe operacje macierzowe

Dla części klasycznych algorytmów numerycznej algebry liniowej można w sposób naturalny wykorzystać rzadkość macierzy i dostosować implementację do formatu przechowywania macierzy Przykładem są mnożenie macierz wektor i wszelkie algorytmy oparte na takim mnożeniu Algorytmami, które jest znacznie trudniej efektywnie dostosować do rzadkości macierzy są wszelkie algorytmy oparte na eliminacji Gaussa

Podział macierzy rzadkiej między procesory jest powiązany ze strukturą macierzy (układem wyrazów niezerowych w macierzy), sposobem przechowywania niezerowych wyrazów macierzy w pamięciach lokalnych i algorytmem rozwiązującym zadany problem macierzowy

Metody bezpośrednie warianty eliminacji Gaussa równoległa wersja z podziałem wierszowym macierzy równoległa wersja z podziałem szachownicowym macierzy Metody iteracyjne metody iteracji prostej: Jacobiego, Gaussa Seidla, SOR, SSOR metody podprzestrzeni Kryłowa wersje równoległe oparte na zrównolegleniu podstawowych operacji wektorowych i macierzowych skalowalność zależna od struktury i własności macierzy poprawa uwarunkowania macierzy w metodach podprzestrzeni Kryłowa

Poprawa uwarunkowania macierzy jako przybliżone rozwiązanie układu równań dające się wyrazić w postaci operatora liniowego Działanie metod iteracji prostej (relaksacji) jako wygładzania błędu Wielopoziomowe wygładzanie błędu metody wielosiatkowe (multigrid) Algorytmy niekompletnego rozkładu jako metody poprawy uwarunkowania i metody wygładzania błędu

Dziękuję za uwagę

Krzysztof Banaś - OWW