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

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

Numeryczna algebra liniowa

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

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

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

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

UKŁADY RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

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

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

2. Układy równań liniowych

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

( n) Łańcuchy Markowa X 0, X 1,...

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

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

Układy równań liniowych. Krzysztof Patan

Zjawisko Comptona opis pół relatywistyczny

Macierzowe algorytmy równoległe

Algorytmy numeryczne 1

Wykład z Technologii Informacyjnych. Piotr Mika

Macierze. Rozdział Działania na macierzach

Krótkie wprowadzenie do macierzy i wyznaczników

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

Wykład 14. Elementy algebry macierzy

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Układy równań liniowych

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

Obliczenia naukowe Wykład nr 8

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

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

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Metody numeryczne Wykład 4

"Bieda przeczy matematyce; gdy się ją podzieli na więcej ludzi, nie staje się mniejsza." Gabriel Laub

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

Algebra liniowa II. Lista 1. 1 u w 0 1 v 0 0 1

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

1 Wiadomości wst ¾epne

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

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

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

Coloring the Cartesian sum of graphs

Z mapami światła i cienia

3. Wykład Układy równań liniowych.

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

Zaawansowane metody numeryczne

O MACIERZACH I UKŁADACH RÓWNAŃ

Jest to zasada zachowania energii w termodynamice - równoważność pracy i ciepła. Rozważmy proces adiabatyczny sprężania gazu od V 1 do V 2 :

Metoda eliminacji Gaussa. Autorzy: Michał Góra

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

Analiza matematyczna i algebra liniowa Macierze

Wykład 5. Metoda eliminacji Gaussa

, A T = A + B = [a ij + b ij ].

Przykładowe zadania z matematyki na poziomie podstawowym wraz z rozwiązaniami

Macierze i Wyznaczniki

Dynamiczne struktury danych: listy

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

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

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

Laboratorium Metod i Algorytmów Sterowania Cyfrowego

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

Metody i analiza danych

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

WYKŁAD 5 TRANZYSTORY BIPOLARNE

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

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

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

ALGORYTMY OPTYMALIZACJI wyklad 3.nb 1. Wykład 3. Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia optymalizacyjnego:

1 Układy równań liniowych

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

A A A A A A A A A n n

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

Algebra liniowa. 1. Macierze.

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

NUMERYCZNE ALGORYTMY PRZECHOWYWANIA MACIERZY RZADKICH

Stany materii. Masa i rozmiary cząstek. Masa i rozmiary cząstek. m n mol. n = Gaz doskonały. N A = 6.022x10 23

Układy równań i nierówności liniowych

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

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

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

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

Własności wyznacznika

Algebra WYKŁAD 3 ALGEBRA 1

Rysunek 1 Przykładowy graf stanów procesu z dyskretnymi położeniami.

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Zapis pochodnej. Modelowanie dynamicznych systemów biocybernetycznych. Dotychczas rozważane były głownie modele biocybernetyczne typu statycznego.

ALGEBRA Z GEOMETRIĄ MACIERZE ODWZOROWAŃ LINIOWYCH

Wydajność komunikacji grupowej w obliczeniach równoległych. Krzysztof Banaś Obliczenia wysokiej wydajności 1

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

ALGORYTM STRAŻAKA W WALCE Z ROZLEWAMI OLEJOWYMI

Opis kształtu w przestrzeni 2D. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej AGH

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Programowanie dynamiczne

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

DB Algebra liniowa semestr zimowy 2018

Układy równań liniowych

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Transkrypt:

Rozdział 21, który rzedstawia zastosowanie obliczeń wysokiej wydajności w numerycznej algebrze liniowej 1.0.1 Oeracje macierzowe Istotnym elementem wszelkich równoległych algorytmów macierzowych jest określenie rozdzielenia (dystrybucji) macierzy i wektorów na oszczególne rocesory. Wyróżnia się szereg tyów odwzorowania macierzy na rocesory: asmowe (1D) - kolumnowe lub wierszowe: blokowe cykliczne blokowo-cykliczne szachownicowe (2D): blokowe cykliczne blokowo-cykliczne 1.0.2 Mnożenie macierz-wektor dla macierzy gęstych oznaczenia: y = Ax liczba oeracji arytmetycznych (raca, workload) - W = 2N 2,N - rozmiar macierzy A dla analizy skalowalności w sensie silnym (strong scaling), czas wykonania na ojedynczym rocesorze zadania o stałym rozmiarze N 0 i stałej racy W 0 : T (1,W 0 ) = 2N 2 0t C = W 0 t C dla analizy skalowalności w sensie słabym (weak scaling), czas wykonania na ojedynczym rocesorze zadania o rozmiarze rosnacym liniowo wraz z liczba rocesorów -W() = W 0,N() = 2 : T (1,W 0 ) = 2N() 2 t C = W 0 t C 1

2 skalowalność z ograniczeniem amięci (memory constraint scaling) - w rzyadku algorytmu mnożenia macierz-wektor okrywa się z weak scaling, skalowalnościa w sensie słabym (złożoność czasowa i amięciowa są obie rzędu N 2 ) dla odziału asmowego wierszowego algorytm 1. wymiana danych o wektorze x (allgather) 2. obliczenia lokalne analiza czasu działania i rzysieszenia obliczeń: strong scaling T (,W 0 ) = 2N2 0 t C weak scaling +t S log+ N 0 t W( 1) = W 0t C +t S log+ t W ( 1) 2 T (,W 0 ) = 2N()2 t C +t S log+ N() t W( 1) 2 = W 0t C +t S log+ t W ( 1) W 0 t C +t S log+ t W (dladużych) 2 dla odziału asmowego kolumnowego (odział wektora jak w odziale wierszowym) - wersja 1 algorytm 1. obliczenia lokalne 2. redukcja wektora y (wszystkie rocesory dokonuja redukcji) analiza czasu działania i rzysieszenia obliczeń strong scaling T (,W 0 ) = 2N2 0 t C +(t S + N 0 t W)log = W 0t C +(t S + 2 t W )log weak scaling T (,W 0 ) = 2N()2 t C +(t S + N() t W)log 2 = W 0t C +(t S + t W )log log = W 0 t C +t S log+ t W 2 bardzo dobre właściwości, ale technicznie nie daje się zrealizować jednoczesnej redukcji rzez wszystkie rocesory (jeśli redukcje zserializuje się, czas komunikacji należy omnożyć rzez, co znacznie ogarsza arametry algorytmu)

3 dla odziału asmowego kolumnowego (odział wektora jak w odziale wierszowym) - wersja 2 algorytm 1. obliczenia lokalne 2. ełna wymiana fragmentów wektora y 3. lokalne sumowanie otrzymanych fragmentów (liczba oeracji N/ = N - omijalnie mała w orównaniu do N 2 /, rzy założeniu N ) analiza czasu działania i rzysieszenia obliczeń strong scaling T (,W 0 ) = 2N2 0 t C weak scaling +(t S + 1 2 N 0 t W)log = W 0t C +(t S + 1 2 2 t W )log T (,W 0 ) = 2N()2 t C = W 0t C +(t S + 1 2 N() t W)log +(t S + 1 t W )log 2 2 2 2 t W log = W 0 t C +t S log+ czasy wykonania równoległego lesze niż zserializowany wariant 1 dla odziału szachownicowego dystrybucja wektorów x iy - każdy rocesor rzyisany do wyrazów na rzekatnej głównej rzechowuje N/ odowiadajacych wyrazów algorytm 1. rozgłaszanie elementów x w kolumnach ( niezależnych gru rocesorów, każda złożona z rocesorów) 2. obliczenia lokalne 3. redukcja elementów y w wierszach ( niezależnych gru rocesorów, każda złożona z rocesorów) - ten sam czas realizacji co rozgłaszanie w kolumnach analiza czasu działania i rzysieszenia obliczeń strong scaling T (,W 0 ) = 2N2 0 t C +2(t S + N 0 t W )log = W 0t C +(t S + 2 t W )log weak scaling T (,W 0 ) = 2N()2 t C +2(t S + N() t W )log = W 0t C +(t S + t W )log 2 = W 0 t C +t S log+ t W log 2

4 Wnioski: wszystkie rozważane równoległe algorytmy mnożenia macierz-wektor są skalowalne żaden nie jest liniowo skalowalny, ani w sensie mocnym (strong scaling) ani w sensie słabym weak scaling 1.1 Macierze rzadkie Macierze zawierające większość zer nazywane są macierzami rzadkimi. Niekiedy rocentowy udział zer w macierzach rzadkich sięga onad 99.99%. Macierze takie owstaja n. jako efekt aroksymacji równań różniczkowych cząstkowych tyowymi metodami MRS (metoda różnic skończonych), MES (metoda elementów skończonych), MOS (metoda objętości skończonych). Praktycznym kryterium rzadkości macierzy może być wykazanie, że klasyczne algorytmy dla macierzy gęstych są wolniejsze od secjalnych algorytmów dla macierzy rzadkich. Secjalne algorytmy dla macierzy rzadkich uwzględniaja secjalne sosoby rzechowywania macierzy, w których w amięci komutera umieszcza się tylko wyrazy niezerowe (ewentualnie także niewielka część wyrazów zerowych). Zais macierzy rzadkiej w takiej ostaci nazywany jest komresja macierzy, a formaty zaisu formatami komresji. Jest wiele schematów rzechowywania macierzy rzadkich. Wybór konkretnego schematu często zależy od struktury macierzy (układ wyrazów niezerowych w macierzy) lub od algorytmu, w którym wystęuje macierz. Poniżej znajduje się ois odstawowych formatów komresji macierzy rzadkich, szersza rezentację można znaleźć w [?] lub dowolnym odręczniku numerycznej algebry liniowej. We wszystkich rzykładach użyta jest macierz A, o liczbie niezerowych wyrazów N nz = 9: A = 0 0 1 0 2 3 0 0 4 5 0 0 0 0 0 6 0 7 0 0 8 9 0 0 0 Numeracja tablic stosowanych w konkretnych formatach, a także kolumn i wierszy macierzy A może, zależnie od imlementacji, zaczynać się od 0 lub 1. We wszystkich dalszych rzykładach założona jest numeracja zaczynajac a się od 0, ze względu na stosowana w rzykładach imlementację w języku C. Podstawowymi formatami rzechowywania macierzy rzadkich są: format naturalny - oarty na wsółrzędnych. Przechowywane tablice zawieraja dla każdego elementu macierzy jego wartość, indeks wiersza i indeks kolumny. Wszystkie tablice mają rozmiar N nz. Kolejność wyrazów w tablicy wartości jest w zasadzie dowolna, dla wygody można założyć, że odowiada ona orządkowi w kolejnych wierszach lub kolumnach. Dla rzykładowej macierzy A i rzyadku umieszczania danych wierszami tablice maja ostać: wartosc[i]={1, 2, 3, 4, 5, 6, 7, 8, 9 indeks_wiersz[i]={0, 0, 1, 1, 1, 3, 3, 4, 4 indeks_kol[i]={2, 4, 0, 3, 4, 0, 2, 0, 1 CRS (Comressed Row Storage) - skomresowany wierszowy (zwany także CSR, Comressed Sarse Row). Powstał w efekcie obserwacji, że zarezentowany owyżej format naturalny jest nieefektywny w tablicy indeksów wierszy, wartości dla ojedynczego wiersza owtarzaja

5 się. Zamiast rzechowywać tablicę indeksów wierszy dla każdego wyrazu macierzy, można rzechowywać dla każdego wiersza tablicę, zwana tablica wskaźników dla wierszy, informujac a kiedy wiersz się zaczyna. Koniec wiersza jest związany z oczatkiem kolejnego wiersza, z wyjątkiem wiersza ostatniego. Z tego owodu tablica wskaźników dla wierszy musi mieć wymiar N + 1 (zamiast N) i w ostatnim elemencie rzechowywać informacje o indeksie (w tablicy wartości) ostatniego elementu w ostatnim wierszu, czyli ostatniego elementu macierzy. Informacja ta jednocześnie określa liczbę niezerowych elementów w tablicy. W efekcie rzechowywane tablice zawieraja kolejne wartości macierzy, indeks kolumny dla każdego wyrazu oraz omawianą tablice dla wierszy, zwana tablica wskaźników dla wierszy (wsk_wiersz). Dla rzykładowej macierzy A (rozmiar N = 5, liczba niezerowych wyrazów N nz = 9) tablice maja ostać: wartosc[i]={1, 2, 3, 4, 5, 6, 7, 8, 9 wsk_wiersz[i]={0, 2, 5, 5, 7, 10 indeks_kol[i]={2, 4, 0, 3, 4, 0, 2, 0, 1 W owyższym rzykładzie widać, że wiersz o indeksie 0 zaczyna się wyrazem o indeksie 0 w tablicy wartości, wiersz o indeksie 1 zaczyna się wyrazem o indeksie 2 w tablicy wartości, it. Widać też, że wiersz o indeksie 2 nie osiada żadnego niezerowego wyrazu oraz że N nz = wsk_wiersz[n] 1. CCS (Comressed Column Storage)- skomresowany kolumnowy (zwany także CSC, Comressed Sarse Column). Format CCS jest bardzo odobny do CRS, z tym że wartości rzechowywane są kolumnami, rolę tablicy wskaźników dla wierszy ełni tablica wskaźników dla kolumn, a rolę tablicy indeksów kolumn tablica indeksów wierszy. W efekcie dla rzykładowej macierzy A tablice w formacie CCS maja ostać: wartosc[i]={3, 6, 8, 9, 1, 7, 4, 2, 5 indeks_wiersz[i]={1, 3, 4, 4, 0, 3, 1, 0, 1 wsk_kol[i]={0, 3, 4, 6, 7, 10 W tym rzyadku N nz = wsk_kol[n] 1. CDS (Comressed Diagonal Storage)- skomresowany diagonalny (zwany także CSD, Comressed Sarse Diagonal). Format diagonalny olega na rzechowywaniu rzekatnych macierzy osiadajacych niezerowe wyrazy. Jest ołacalny tylko w rzyadku, kiedy liczba takich rzekat- nych jest niewielka. W rzyadku tego formatu istnieja bardzo efektywne algorytmy, w tym algorytmy równoległe, realizujace oeracje BLAS (w tym iloczyn macierz-wektor). Format ten nie jest analizowany w dalszej części skrytu, jednak wart jest wsomnienia, gdyż niektóre z metod aroksymacji równań różniczkowych cząstkowych (n. metoda różnic skończonych na siatkach regularnych) rowadza do macierzy o niewielkiej liczbie niezerowych rzekatnych. W tym rzyadku imlementacja wysokiej wydajności, wręcz wymaga użycia formatu CDS, jako znacznie efektywniejszego od innych. 1.1.1 Rozroszone rzechowywanie macierzy rzadkich Podział macierzy rzadkiej między rocesory jest owiązany ze struktura macierzy (układem wyrazów niezerowych w macierzy), sosobem rzechowywania niezerowych wyrazów macierzy w amięciach lokalnych i algorytmem rozwiazuj acym zadany roblem macierzowy. Warianty odziału ozostaja takie same jak w rzyadku macierzy gęstych (wierszowe, kolumnowe, szachownicowe, blokowe,

6 cykliczne, it.). Każdy roces rzechowuje sobie rzydzielona część macierzy w swojej amięci lokalnej, stosujac wybrany format skomresowany. Stosownie do formatu macierzy dobierane są imlementacje wykonywania odstawowych oeracji macierzowych składajacych się na realizowany algorytm. 1.1.2 Algorytmy numeryczne dla macierzy rzadkich Dla części klasycznych algorytmów numerycznej algebry liniowej można w sosób naturalny wykorzystać rzadkość macierzy i dostosować imlementację do formatu rzechowywania macierzy. Przykładem są mnożenie macierz-wektor i wszelkie algorytmy oarte na takim mnożeniu. Algorytmami, które jest znacznie trudniej efektywnie dostosować do rzadkości macierzy są wszelkie algorytmy oarte na eliminacji Gaussa. Dla każdego z wymienionych w orzednim unkcie formatów istnieja odowiednie wersje algorytmów realizujacych odstawowe oeracje macierzowe. Z raktycznego unktu widzenia, najważniejsza z nich jest oeracja mnożenia macierz-wektor, y = A x odstawowy element imlementacji zdecydowanej większości algorytmów iteracyjnego rozwiązywania układów równań liniowych. 1.1.3 Imlementacja iloczynu macierz-wektor dla macierzy rzadkich w formacie naturalnym Imlementacja sekwencyjna Podstawowy algorytm ma ostać: for(i=0; i<n_nz; i++){ y[ indeks_wiersz[i] ] += wartosc[i] * x[ indeks_kol[i] ]; Ze względu na odwójne adresowanie ośrednie algorytm ten jest rzadko stosowany w imlementacjach wysokiej wydajności. 1.1.4 Imlementacja iloczynu macierz-wektor dla macierzy rzadkich w formacie CRS Podstawowy algorytm ma ostać: for(i=0; i<n; i++){ for(j=wsk_wiersz[i]; j<wsk_wiersz[i+1]; j++){ y[i] += wartosc[j] * x[ indeks_kol[j] ]; 1.1.5 Imlementacja iloczynu macierz-wektor dla macierzy rzadkich w formacie CCS Podstawowy algorytm ma ostać: for(i=0; i<n; i++){ for(j=wsk_kol[i]; j<wsk_kol[i+1]; j++){ y[ indeks_wiersz[j] ] += wartosc[j] * x[i];

1.1.6 Imlementacja iloczynu macierz-wektor dla macierzy rzadkich w blokowych wariantach formatów skomresowanych Algorytmy dla wariantów blokowych osiagaj a wyższe wydajności bezwzględne (w GFlos). Wydajność całkowita (czas rozwiazania zadania) zależy od liczby niezerowych wyrazów w blokach. 7 1.1.7 Analiza wydajności algorytmów mnożenia macierz-wektor dla macierzy rzadkich Najważniejszym arametrem macierzy rzadkich wływającym na czas realizacji rozmaitych oeracji, w tym iloczynu macierz-wektor, jest liczba niezerowych elementów macierzyn nz. Niezależnie od sosobu rzechowywania macierzy rzadkiej otymalna liczba oeracji zmiennorzecinkowych dla mnożenia macierz-wektor wynosi 2N nz. liczba oeracji liczba odniesień do amięci schemat odniesień do amięci i rzewidywany czas dostęu 1.1.8 Wydajność imlementacji równoległej mnożenia macierz-wektor dla macierzy rzadkich W rzyadku imlementacji równoległej z rzesyłaniem komunikatów, do czasu obliczeń, co do którego zakłada się, że jest równomiernie dzielony omiędzy rocesory dochodzi czas komuikacji. Jeśli założymy odział wierszowy macierzy oraz odział i wymianę elementów wektora x takie jak rzy mnożeniu macierzy gęstych, również czas komunikacji będzie identyczny jak czas komunikacji dla macierzy gęstych: t S log+ N t W( 1) Zależność omiędzy liczba elementów niezerowych macierzyn nz a rozmiarem macierzyn można ująć osługujac się wartościan rnz określajac a średnia liczbę wyrazów niezerowych w ojedynczym wierszu macierzy A. W takim wyadku N nz = NN rnz Praca związana z realizacja algorytmu także jest funkcja liczby wyrazów niezerowych co dla analizy skalowalności w sensie słabym daje W = 2N nz W() = W 0 = 2N nz () Podstawiajac w wyrażeniu na czas owyższe zależności otrzymujemy oszacowania czasu wykonania mnożenia macierz-wektor dla macierzy rzadkich z odziałem wierszowym: strong scaling - N nz = const,n rnz = const T (,W 0 ) = 2N nzt C +t S log+ N nz t W ( 1) = W 0t C N rnz +t S log+ W 0 2N rnz t W ( 1)

8 weak scaling - N nz = N nz (), N rnz = N rnz () T (,W 0 ) = 2N nz()t C = W 0t C = W 0 t C +t S log+ +t S log+ N nz() N rnz () t W( 1) W 0 +t S log+ 2N rnz () t W( 1) W 0 2N rnz () t W( 1) Jak widać, skalowalność w sensie słabym owyższego algorytmu jest gorsza niż odowiedniego algorytmu dla macierzy gęstych (składnik z czasem rzesłania ojedynczej liczby jest roorcjonalny do ). Parametrem, który mógłby orawić własności algorytmu jest średnia liczba wyrazów niezerowych w ojedynczym wierszu N rnz. Gdyby wartość ta rosła roorcjonalnie do wtedy czas rzesyłania ozostawałby stały. Sytuacja taka ma miejsce w rzyadku kiedy wzrost liczby wyrazów niezerowych (także rorcjonalny do ) olega wyłącznie na wzroście N rnz (rozmiar macierzy N ozostaje stały, macierz rzy stałym rozmiarze wyełnia się coraz większa liczba wyrazów niezerowych). W raktyce (n. rzy aroksymacji równań różniczkowych cząstkowych) częściej sotyka się sytuację, kiedy liczba N rnz ozostaje stała, z reguły znacznie mniejsza niż N. Jeśli wtedy zastosuje się algorytm oisany owyżej nie uzyska się skalowalności. Jednak można zmodyfikować algorytm. Jeśli N rnz jest znacznie mniejsze od N, wtedy do omnożenia ojedynczego wiersza otrzeba tylko niewielkiej liczby wyrazów wektora x. Odowiednia struktura macierzy A oraz odowiednia organizacja obliczeń mogą dorowadzić do sytuacji, kiedy ojedynczy roces w celu wykonania oeracji na sobie rzydzielonej części macierzy A otrzebuje tylko małego fragmentu x, którego wyrazy rzechowuje tylko niewielka liczba rocesów, która będziemy oznaczać N ngb. Wtedy w fazie wstęnej algorytmu, zamiast oeracji allgather, każdy rocesor otrzymuje za omoca rzesłań unkt-unkt otrzebne wyrazy wektoraxod rocesówn ngb. Zakładajac, że od każdego rocesu otrzymuje średnio N rcv wyrazów otrzymujemy wzór na czas komunikacji: (t S +N rcv t W )N ngb W rzyadku analizy skalowalności silnej Dla skalowalności w sensie słabym Podstawiajac owyższy wzór do oszacowań czasu realizacji mnożenia macierz-wektora otrzymujemy: strong scaling - N nz = const,n rnz = const T (,W 0 ) = 2N nzt C weak scaling - N nz = N nz (), N rnz = N rnz () + = W 0t C + T (,W 0 ) = 2N nz()t C = W 0t C + = W 0 t C +