Mnożenie macierzy Metody skrócenia czasu mnożenia macierzy. dr inż. Jarosław Forenc , K. metoda Strassena zmiana implementacji algorytmu

Podobne dokumenty
Przykład: QS(tab,0,5); Sortowanie. Mnożenie macierzy. dr inż. Jarosław Forenc

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc. Przeładowanie (przeciążanie) operatorów. dziedziczenie funkcje wirtualne

Algebra Boole a. ccc dr inŝ. Jarosław Forenc

Algorytmy komputerowe. Złożoność obliczeniowa Sortowanie. Mnożenie macierzy. dr inż. Jarosław Forenc

Programowanie obiektowe w języku C++ Operacje na wektorach i macierzach. dr inż. Jarosław Forenc. Dziedziczenie. funkcje wirtualne (polimorfizm)

WYZNACZNIKI. . Gdybyśmy rozważali układ dwóch równań liniowych, powiedzmy: Takie układy w matematyce nazywa się macierzami. Przyjmijmy definicję:

Rys Wyrównanie spostrzeżeń zawarunkowanych jednakowo dokładnych C. KRAKOWIANY

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa


Maciej Grzesiak. Iloczyn skalarny. 1. Iloczyn skalarny wektorów na płaszczyźnie i w przestrzeni. a b = a b cos ϕ. j) (b x. i + b y

ZADANIA Z ZAKRESU SZKOŁY PODSTAWOWEJ, GIMNAZJUM I SZKOŁY ŚREDNIEJ







Połączenie (1) Optymalizacja poleceń SQL Część 3. Algorytm nested loops. Połączenie (2)

G i m n a z j a l i s t ó w

Pierwiastek z liczby zespolonej

Gdyńskim Ośrodkiem Sportu i Rekreacji jednostka budżetowa

a a a b M. Przybycień Matematyczne Metody Fizyki I

Semantyka i Weryfikacja Programów - Laboratorium 2 Działania na ułamkach, krotki i rekordy

WYKŁAD 5. Typy macierzy, działania na macierzach, macierz układu równań. Podstawowe wiadomości o macierzach

4. RACHUNEK WEKTOROWY

1 Zbiory i działania na zbiorach.

FUNKCJA KWADRATOWA. RÓWNANIA I NIERÓWNOŚCI DRUGIEGO STOPNIA.

T W O R Z Y M Y. 15 godzin w cyklu 3-godzinnym

WEKTORY skalary wektory W ogólnym przypadku, aby określić wektor, należy znać:


Całki oznaczone. wykład z MATEMATYKI

Metoda superpozycji: Sesja poprawkowa. Wykład 1

Przeguby precyzyjne KTR z łożyskowaniem ślizgowym lub igiełkowym

Analiza kinematyczna mechanizmów Metoda wektorowych równań konturowych

DZIAŁ 2. Figury geometryczne






















WEKTORY skalary wektory W ogólnym przypadku, aby określić wektor, należy znać:

3. F jest lewostronnie ciągła

Pojęcia Działania na macierzach Wyznacznik macierzy

Działania wewnętrzne i zewnętrzne

Roztwory rzeczywiste (1) Roztwory rzeczywiste (2) Funkcje nadmiarowe. Również w temp. 298,15K, ale dla CCl 4 (A) i CH 3 OH (B).

W praktycznym doświadczalnictwie, a w szczególności w doświadczalnictwie polowym, potwierdzono występowanie zależności pomiędzy wzrastającą liczbą

KARTA WZORÓW MATEMATYCZNYCH. (a + b) c = a c + b c. p% liczby a = p a 100 Liczba x, której p% jest równe a 100 a p

Pierwiastek z liczby zespolonej

Wyznacznikiem macierzy kwadratowej A stopnia n nazywamy liczbę det A określoną następująco:

Algebra Boola i podstawy systemów liczbowych. Ćwiczenia z Teorii Układów Logicznych, dr inż. Ernest Jamro. 1. System dwójkowy reprezentacja binarna

4.6. Gramatyki regularne

WSTĘP DO INFORMATYKI

ROZWIĄZYWANIE MAŁYCH TRÓJKĄTÓW SFERYCZNYCH

Studia stacjonarne I stopnia, kierunek: FIZYKA TECHNICZNA specjalność: Metody techniczne w kryminalistyce. profil kształcenia: PRAKTYCZNY

Co można zrobić za pomocą maszyny Turinga? Wszystko! Maszyna Turinga potrafi rozwiązać każdy efektywnie rozwiązywalny problem algorytmiczny!

H. Dąbrowski, W. Rożek Próbna matura, grudzień 2014 r. CKE poziom rozszerzony 1. Zadanie 15 różne sposoby jego rozwiązania

Wyk lad 1 Podstawowe wiadomości o macierzach

GENEZA WYZNACZNIKA. Układ równań liniowych z dwiema niewiadomymi. Rozwiązania układu metodą eliminacji Gaussa

2. Funktory TTL cz.2

Algebra macierzowa. Akademia Morska w Gdyni Katedra Automatyki Okrętowej Teoria sterowania. Mirosław Tomera 1. ELEMENTARNA TEORIA MACIERZOWA

PROJEKTY GOTOWE DŹWIGARÓW DACHOWYCH

Elementy znajdujące się w opakowaniu mogą różnić się w zależności od kraju, w którym zakupiono urządzenie. Przewód zasilający do gniazdka ściennego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1

III.3 Transformacja Lorentza prędkości i przyspieszenia. Efekt Dopplera

Aby opisać strukturę krystaliczną, konieczne jest określenie jej części składowych: sieci przestrzennej oraz bazy atomowej.

Temat: Do czego służą wyrażenia algebraiczne?

P l a n s t u d i ó w

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

1 Elementy logiki i teorii mnogości

KLUCZ PUNKTOWANIA ODPOWIEDZI

LISTA02: Projektowanie układów drugiego rzędu Przygotowanie: 1. Jakie własności ma równanie 2-ego rzędu & x &+ bx&

PROJEKTY GOTOWE DŹWIGARÓW DACHOWYCH

MODEL ODPOWIEDZI I SCHEMAT OCENIANIA ARKUSZA EGZAMINACYJNEGO II

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

Badanie regularności w słowach

Klasyfikacja trójkątów


Klucz odpowiedzi do zadań zamkniętych i schemat oceniania zadań otwartych

Konkurs dla gimnazjalistów Etap szkolny 9 grudnia 2016 roku

PODSTAWY ALGEBRY MACIERZY. Operacje na macierzach

Macierz. Wyznacznik macierzy. Układ równań liniowych

2. Szybka transformata Fouriera

Transkrypt:

Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Pln wykłdu nr 8 Infortyk Politehnik iłostok - Wydził Elektryzny Elektrotehnik seestr II studi stjonrne I stopni Rok kdeiki 04/0 nożenie ierzy etody skróeni zsu nożeni ierzy etod Strssen zin ipleentji lgorytu iliotek Intel th ernel Lirry (L środowisko UD iliotek ULS Wykłd nr 8 (.0.0 dr inż. Jrosłw Foren Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 3/9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 4/9 nożenie ierzy nożenie ierzy Operj: [][] - ierz - eleentow [][] - ierz - eleentow [][] - ierz - eleentow 3 3 3 (i Operj: ([][][][][][] (i 3 3 3 (k (j (k Progr w języku : (j 3 3 3 3 3 3 3 for (i0; i<; i++ for (k0; k<; k++ { [i][k] 0.0; for (j0; j<; j++ [i][k] + [i][j] * [j][k]; } ik j i ij jk k oszt lgorytu: O( n 3

Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 nożenie ierzy - etod Strssen złóży że ierze są kwdrtowe n n i n jest potęgą lizy dzieliy kżdą ierz n ztery podierze o rozirh n/ n/ Β olizy niezleżnie kżdą z podierzy ij korzystją ze wzoru: ij jedno nożenie ierzy zstępowne jest zte ośio nożenii ierzy ij ij koszt olizeniowy powyższego lgorytu jest tki s jk lgorytu stndrdowego: i j + i j i j O( n 3 nożenie ierzy - etod Strssen poysłe n przyspieszenie lgorytu jest zniejszenie lizy nożeń podierzy z ośiu do siediu olizy poonizyh ierzy i o rozirze n/ n/: + 4 ( + ( ( + + olizy skłdowe ij ierzy wynikowej : 3 ( + 4 + koszt powyższego lgorytu wynosi: 4 + + ( + + log O ( n O( n 3 + 808 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 8/9 nożenie ierzy - optylizj lgorytu nożenie ierzy - optylizj lgorytu n szykość wykonywni olizeń wpływ nie tylko liz operji ziennoprzeinkowyh le tkże sposó poierni dnyh z pięi koputer oene systey koputerowe ją hierrhizną udowę pięi: rejestry proesor pięć podręzn (he pięć operyjn pięć zewnętrzn olizeni są efektywnie wykonywne gdy odywją się n ziennyh znjdująyh się w jk njszyszej pięi rozptrzy dw lgoryty nożeni ierzy: lgoryt nr for (i0; i<; i++ for (k0; k<; k++ for (j0; j<; j++ [i][k] + [i][j]*[j][k]; lgoryt nr for (i0; i<; i++ for (j0; j<; j++ for (k0; k<; k++ [i][k] + [i][j]*[j][k]; ierze: 048 048 proesor: Intel ore i-40 30 GHz kopiltor: irosoft Visul ++ 008 Stndrd Edition lgoryt nr : ez optylizji: 80 [s] z optylizją: 903 [s] lgoryt nr : ez optylizji: 49409 [s] z optylizją: 0 [s]

Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 9/9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 0/9 nożenie ierzy - optylizj lgorytu nożenie ierzy - optylizj lgorytu etod przehowywni ierzy w pięi liniowej lgoryt nr [0][0] [0][] [0][] [0][3] [][0] [][] [][] [][3] for (i0; i<; i++ for (k0; k<; k++ for (j0; j<; j++ [i][k] + [i][j] * [j][k]; [][0] [][] [][] [][3] ierz w pięi liniowej (wektor ierz Pięć podręzn (he eory lgoryt nr for (i0; i<; i++ for (j0; j<; j++ for (k0; k<; k++ [i][k] + [i][j] * [j][k]; [0][0] [0][] [0][] [0][3] [][0] [][] [][] [][3] [][0] [][] [][] [][3] Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 iliotek nueryzn LS LS - si Liner lger Suprogrs Ziór proedur służąyh do wykonywni operji n podstwowyh oiekth lgery liniowej: sklrh wektorh ierzh Stron główn: http://www.netli.org/ls Rok pulikji: 99 Oryginlnie npisn w języku Fortrn Osługuje lizy: rzezywiste pojedynzej i podwójnej preyzji zespolone pojedynzej i podwójnej preyzji iliotek nueryzn LS Wyróżni się 3 pozioy strkji lgorytów LS LS Level operje typu wektor-wektor (dodwnie wektorów nory wektor ilozyn sklrny wektorów y α x + y LS Level operje typu ierz-wektor (nożenie ierzy przez wektor y αx + y LS Level 3 operje typu ierz-ierz (nożenie ierzy przez ierz α +

Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 4/9 LS - zwy proedur LS - Ipleentje DGEV - nożenie ierzy przez wektor ierz i wektor zwierją lizy rzezywiste podwójnej preyzji y α x + β y lu y α x + β y SGE - nożenie ierzy przez ierz ierze zwierją lizy rzezywiste pojedynzej preyzji Stron główn: http://www.netli.org/ls Stron główn zwier niezoptylizowną iliotekę LS L (Intel Intel th ernel Lirry (Intel L v https://softwre.intel.o/en-us/intel-kl α + β X X X X X onjg( X SSWP - zin wektorów zwierjąyh lizy rzezywiste pojedynzej preyzji x y L (D D ore th Lirry http://developer.d.o/tools-nd-sdks/pu-developent/d-oreth-lirry-l/ LS (open soure utotilly uned Liner lger Softwre http://th-tls.soureforge.net/ Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 nożenie ierzy - L?ge - oputes slr-trix-trix produt nd dds the result to slr-trix produt α + β X X X X X onjg( X Syntx - Fortrn : sge(trns trns n k lph ld ld et ld LS - the interfe to the si Liner lger Suprogrs (LS ipleented in Intel L void ls_sge(onst enu LS_ORDER Order onst enu LS_RSPOSE rns onst enu LS_RSPOSE rns onst int onst int onst int onst flot lph onst flot * onst int ld onst flot * onst int ld onst flot et flot * onst int ld; GPGPU i UD GPGPU - Generl Purpose oputing on Grphis Proessing Units UD (opute Unified Devie rhiteture hrdwre - równoległ rhitektur olizeniow GPU softwre - kopiltor nv ilioteki i inne nrrzędzi VIDI orportion (US Pierwsz wersj: luty 00 Stron: http://www.nvidi.pl/ojet/ud-prllel-oputing-pl.htl Stron: https://developer.nvidi.o/ud-zone Lienj: freewre

Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 /9 Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 8/9 UD - Jk używć? nożenie ierzy - UD + ULS Sprwdzić zy krt grfizn w koputerze osługuje UD wszystkie nowe krty grfizne VIDI są koptyilne z UD Śiągnąć oprogrownie UD (UD.0 etwork Instller - 8 Lol Instller - 939 Zinstlowć oprogrownie UD Użyć szlonu (teplte projet do stworzeni włsnego progru wykorzystująego UD iliotek ULS - ipleentj LS (si Liner lger Suprogrs dl krt grfiznyh VIDI i środowisk UD Zstosownie ULS (wersj. w progrie wyg: inijlizji ilioteki ULS: ulsrete( przydzieleni pięi GPU n ierze: udllo( przesłni ierzy o pięi GPU: ulssettrix( wywołni odpowiednih funkji ULS: ulssge( przesłni wyników olizeń z pięi GPU do pięi R koputer: ulsgettrix( zwolnieni pięi GPU: udfree( zkońzeni pry ilioteki ULS: ulsdestroy( Infortyk studi stjonrne I stopni dr inż. Jrosłw Foren Rok kdeiki 04/0 Wykłd nr 8 9/9 onie wykłdu nr 8 Dziękuję z uwgę!