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ę!