Matematický ústav Univerzity Karlovy v Praze Sokolovská 83, Praha 8. M. Mádĺık (MFF UK) Numerické knihovny 18.

Rozměr: px
Začít zobrazení ze stránky:

Download "Matematický ústav Univerzity Karlovy v Praze Sokolovská 83, Praha 8. M. Mádĺık (MFF UK) Numerické knihovny 18."

Transkript

1 Základní numerické knihovny Martin Mádĺık Matematický ústav Univerzity Karlovy v Praze Sokolovská 83, Praha října 2010 M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

2 Obsah 1 BLAS 2 3 BLACS 4 PBLAS 5 Sca M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

3 Část I sdílená pamět 1 BLAS Level 1 Level 2 Level 3 BLAS další informace 2 Konvence Drivery Příklad M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

4 BLAS - Basic Linear Algebra Subprograms Historie Lawson et al. - základní sada podprogramů pro lineární algebru velmi úspěšný projekt: čitelný, portovatelný, modulární Stal se de facto standartem pro vektorové operace. Základní frekventované operace v lineární algebře Jednotný přístupový interface Značně optimalizovaný kód Další výhody použití Robustnost Přenositelnost při zachování výkonu Čitelnost celkového kódu M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

5 Level 1 Level 1 BLAS Vektor - Vektor Originální BLAS implementoval low-level operace jako skalární součin, sčítání vektorů apod. Dnes se označují jako Level 1 BLAS. Standartizovaný interface k vektorovým operacím s mnemotechnickými pomůckami pojmenování funkcí. Příklad pojemnování SUBROUTINE AXPY (N, ALPHA, X, INCX, Y, INCY) Prefixy: S, D, C, Z y α x + y Význam prefixů S - REAL D - DOUBLE PRECISION C - COMPLEX Z - COMPLEX*16 M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

6 Level 1 Level 1 BLAS - přehled funkcí rotace ROTG, ROTMG, ROT, ROTM SWAP x y SCAL x α x COPY y x AXPY y α x + y DOT dot x T y DOT dot α + x T y NRM2 nrm2 x 2 ASUM asum re( x) 1 + im( x) 1 M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

7 Level 1 Level 1 BLAS - složitost, výkon Složitost Operace typicky vyžadují O(n) operací v řádové čárce a O(n) přesunů datových položek (nahraj/ulož) n je délka vektoru. Výkon Level 1 BLAS výkonný na skalárních počítačích. Poměr mezi počty operací v řádové čárce a datovými přesuny je příliš malý, aby byl rozumně využit efektivně na vektorových procesorech. I na skalárním stroji může být problém s operacemi pro příliš malé vektory (cena za časté volání funkcí). Na druhou stranu čitelnost kódu bude nezměrně vyšší (např. Násobení matice x vektor pomocí SAXPY). Násobení matice-vektor Lze rozepsat jako sérii volání SAXPY. ALE pomíjí možnost uložení výsledného vektoru y do vektorového registru. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

8 Level 1 Level 1 Blas příklad program copy_main real x(10), y(10) integer n, incx, incy, i n = 3 incx = 3 incy = 1 do i = 1, 10 x(i) = i end do call scopy (n, x, incx, y, incy) print*, Y =, (y(i), i = 1, n) end Výsledek: Y = M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

9 Level 2 Level 2 BLAS Matice - Vektor S příchodem vektorových procesorů se ukázalo, že Level 1 BLAS nemá dostatečnou granularitu pro využití nových optimalizací: data reuse. Level 1 BLAS zastiňuje kompilátoru pohled na globální data (Matice-vektor jako n x vektor-vektor). Bylo přidáno několik málo dalších funkcí Level 2 BLAS - designováno pro matice-vektor operace, které se často vyskytují v algoritmech lineární algebry. Složitost Operace typicky vyžadují O(mn) skalárních operací, m a n jsou dimenze matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

10 Level 2 Level 2 BLAS - funkce 3 typy základních operací Násobení matice-vektor Rank-1 a rank-2 update Řešení trojúhelníkové soustavy M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

11 Level 2 Level 2 BLAS - funkce 3 typy základních operací Násobení matice-vektor A = αa x + β y A = αa T x + β y A = αāt x + β y α, β skaláry, x, y vektory, A matice x = T x x = T T x x = T T x x je vektor a T je horní nebo dolní trojúhelníková matice. Rank-1 a rank-2 update Řešení trojúhelníkové soustavy M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

12 Level 2 Level 2 BLAS - funkce 3 typy základních operací Násobení matice-vektor Rank-1 a rank-2 update A = α x y T + A A = α x y T + A H = α x x T + H H = α x y T + ᾱ y x T + H H je hermitovská matice. Řešení trojúhelníkové soustavy M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

13 Level 2 Level 2 BLAS - funkce 3 typy základních operací Násobení matice-vektor Rank-1 a rank-2 update Řešení trojúhelníkové soustavy x = T 1 x x = T T x x = T H x T je regulární horní nebo dolní trojúhelníková matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

14 Level 2 Level 2 BLAS - jmenná konvence XXYY - známe S,D,C,Z XX - Typ matice GE, GB - general, general banded HE, HB, HP - Hermitovská, H. pásová, H. Packed SY, SB, SP - Symetrická, S. pásová, S. pakovaná TR, TB, TP - Trojúhelníková, T. pásová, T. pakovaná YY - operace S - Solve M - Matice V - Vektor R - rank-1 R2 - rank-2 RK - rank-k R2K - rank-2k M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

15 Level 2 Level 2 BLAS - přehled funkcí GEMV y αa x + β y GBMV, HEMV, HBMV, HPMV, SYMV, SBMV, SPMV TRMV x αa xy TBMV, TPMV, TRSV, TBSV, TPSV GER A α x y T + A, A m n GERU, GERC HER, HPR A α x x H + A, A m n HER2, HPR2 A α x y H + y(αx) H + A, A m n SYR, SPR A α x x T + A, A m n SYR2, SPR2 A α x y T + α( y x T + A, A m n M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

16 Level 2 Level 2 BLAS - výkon Výkon Velkou část běžně používaných algoritmů lineární algebry je možné napsat pomocí Level 2 BLAS volání. Efektivitu lze dosáhnout použitím implementací šitých na míru používanému hw. Na vektorových procesorech tato implementace používá co nejdelší vektory a všechny výsledné operace počítají s celým vektorem (řádek nebo sloupec) naráz. Při použití vektorových registerů lze zvýšit efektivitu znovupoužítím vektorů (bez ukládání do paměti). Nevhodnost Tento přístup není vhodný na strojích s hierarchickou pamětí (globální pamět, cache, nebo lokální pamět a vektorové registry) nebo na čistě paralelních strojích. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

17 Level 2 Blas příklad program ger_main real a(5,3), x(10), y(10), alpha integer m, n, incx, incy, i, j, lda m = 2 n = 3 lda = 5 incx = 2 incy = 1 alpha = 0.5 do i = 1, 10 x(i) = 1.0 y(i) = 1.0 end do

18 Level 2 Blas příklad do i = 1, m do j = 1, n a(i,j) = j end do end do call sger (m, n, alpha, x, incx, y, incy, a, lda) print*, Matrix A: do i = 1, m print*, (a(i,j), j = 1, n) end do end Matrix A:

19 Level 3 Level 3 BLAS Matice - Matice Nové HW platformy se sdílenou pamětí nebo RISC procesory (Cray, SGI) ukázaly nedostatky Level 2 BLAS: stále malý poměr mezi početními operacemi a datovými přesuny - nebylo možné dostatečně využít nových velkých cache nabo lokálních pamětí. Nutně vedlo na restrukturalizaci na BLOKY a operovat co nejdelší dobu s celými bloky operacemi Matice-Matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

20 Level 3 Level 3 BLAS Složitost a efektivita Plné využití lokálnách cache vede typicky na O(n 3 ) skalárních operací, ale pouze O(n 2 ) datových přesunů. Tento jev je nazýván surface-to-volume efekt. Navíc lze vhodně paralelizovat: Operace na různých blocích mohou být prováděny současně Operace na každém bloku (skalární i vektorové) mohou být prováděny paralelně M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

21 Level 3 Level 3 BLAS - funkce Přechod z Level 2 na Level 3 Nahrazením vektorů x, y maticemi B, C. Základní operace Násobení matice-matice Rank-k update pro symetrickou matici Násobení matice trojúhelníkovou maticí Řešení trojúhelníkové soustavy s více pravými stranami α, β jsou skaláry, A, B, C jsou čtvercové matice a T je horní nebo dolní trojúhelníková matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

22 Level 3 Level 3 BLAS - funkce Základní operace Násobení matice-matice C = αab + βc C = αa T B + βcy C = αa T B T + βcy Rank-k update pro symetrickou matici Násobení matice trojúhelníkovou maticí Řešení trojúhelníkové soustavy s více pravými stranami α, β jsou skaláry, A, B, C jsou čtvercové matice a T je horní nebo dolní trojúhelníková matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

23 Level 3 Level 3 BLAS - funkce Základní operace Násobení matice-matice Rank-k update pro symetrickou matici C = αaa T + βc C = αa T A + βc C = αa T B + αb T A + βc C = αab T + αba T + βc Násobení matice trojúhelníkovou maticí Řešení trojúhelníkové soustavy s více pravými stranami α, β jsou skaláry, A, B, C jsou čtvercové matice a T je horní nebo dolní trojúhelníková matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

24 Level 3 Level 3 BLAS - funkce Základní operace Násobení matice-matice Rank-k update pro symetrickou matici Násobení matice trojúhelníkovou maticí B = αtb B = αt T B B = αbt B = αbt T Řešení trojúhelníkové soustavy s více pravými stranami α, β jsou skaláry, A, B, C jsou čtvercové matice a T je horní nebo dolní trojúhelníková matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

25 Level 3 Level 3 BLAS - funkce Základní operace Násobení matice-matice Rank-k update pro symetrickou matici Násobení matice trojúhelníkovou maticí Řešení trojúhelníkové soustavy s více pravými stranami B = αt 1 B B = αt T1 B B = αbt 1 B B = αbt T B T je regulární horní nebo dolní trojúhelníková matice. α, β jsou skaláry, A, B, C jsou čtvercové matice a T je horní nebo dolní trojúhelníková matice. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

26 Level 3 Level 3 BLAS - přehled funkcí GEMM C αop(a)op(b) + βc, op(x) = X, X T, X H, C m n SYMM, HEMM SYRK C αaa H + βc, C n n HERK C αaa T + βc, C n n SYR2K C αab H + αba H + βc, C n n HER2K C ᾱab H + αba H + βc, C n n TRMM B αop(a)b, op(a) = A, A T, A H, C m n TRSM B αop(a 1 )B, op(a) = A, A T, A H, C m n M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

27 Level 3 Level 3 BLAS - výkon na CRAY Počet procesorů Level2: y αax + βy Level3: C αab + βc Level2: x αux Level3: B αub Level2: x αu 1 x Level3: B αu 1 B Tabulka: Rychlost v MFlops/s Level 2 a Level 3 BLAS na CRAY C90, U - horní trojúhelníková, n = 1000 M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

28 Level 3 Blas příklad program symm_main real a(3,3), b(3,2), c(3,3), alpha, beta integer m, n, lda, ldb, ldc, i, j character uplo, side uplo = u side = l m = 3 n = 2 lda = 3 ldb = 3 ldc = 3 alpha = 0.5 beta = 2.0 do i = 1, m do j = 1, m a(i,j) = 1.0 end do end do

29 Level 3 Blas příklad do i = 1, m do j = 1, n c(i,j) = 1.0 b(i,j) = 2.0 end do end do call ssymm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) print*, Matrix C: do i = 1, m print*, (c(i,j), j = 1, n) end do end Matrix C:

30 BLAS další informace Další BLAS informace Implementace Referenční implementace ke stažení na Existuje řada BLAS implementací (Fortran, asembler, C) ATLAS Automated Tuned Linear Algebra Source Po několik hodin zkouší Váš systém a vybírá optimální implementaci L1 cache reuse FP unit Memory fetch Register reuse Loop overhead M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

31 BLAS další informace BLAS rozšíření, literatura BLAS Technical Forum Fórum pro udržování a rozšiřování BLASu, udržování ve světle moderního softwaru, programovacích jazyků a výrobců hardwaru. Dense, Sparse, low-level výpočetní jádra a pod. Literatura C. Lawson, R. Hanson, D. Kincaid, and F. Krogh. Basic Linear Algebra Subprograms for Fortran usage. ACM Trans. Math. Softw., 5: , 1979 D. Dodson and J.lewis. Issues relating to extension of Basic Linear Algebra Subprograms. ACM SIGNUM Newsletter, 20(1):2-18, M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

32 - Linear Algebra Package Numerická knihovna napsaná ve Fortran 77. Základní nástroje pro řešení problémů lineární algebry efektivně na široké škále výpočetních strojů. lineární soustavy metoda nejmenších čtverců pro systémy rovnic problémy vlastních čísel faktorizace matice (LU, Cholesky, QR, SVD, Schur) odhady podmíněnosti, reorderings husté a pásové matice ne pro řídké reálné i komplexní M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

33 - vznik Historie Vznikla integrací LINPACK a EISENPACK do jednoho unifikovaného kódu. (Starší knihovny vesměs ignorovaly cenu datových přesunů v paměti). přestrukturoval pečlivě kód tak, aby se dalo využít data reusing. Přínos Vývojáři přepsali předešlé knihovny do séríı volání BLAS funkcí (ty lze optimalizovat pro danou architekturu). Přidali množství rozděl a panuj algoritmů pro problémy vlastních čísel. Nahrazují absolutní chybové odhady relativními umožňující lepší škálovatelnost. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

34 - použití Kde použít 1 i víceprocesorové stroje (méně než 100) vektorové procesory RISC procesory Všechny výkonné stroje CRAY T90, CRAY J90, Fujitsu VPP, Hitaschi, HP-Convex, IBM Power 2, SGI Poer Callenge, NEC SX-4 M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

35 Konvence - jmenné konvence, některé funkce?posv Výpočet řešení lineární soustavy (symetrická nebo Hermitovská, positivně definitní) s vícenásobnou pravou stranou. AX = B kde A je sym.pos.def, B pravé strany ve sloupcích, X řešení po sloupcích Matice B je přepsána řešením X. Podle parametru uplo se voĺı U horní trojúhelníková nebo L dolní trojúhelníková matice při Choleskyho rozkladu A = U T U nebo A = LL T M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

36 Konvence - jmenné konvence, některé funkce Konvence?yyzz,?yyzzz,? - typ dat s - float d - double c - complex (float, float) z - complex (double, double) Volání Fortran: call sposv(uplo, n, nrhs, a, lda, b, ldb, info) call dposv(uplo, n, nrhs, a, lda, b, ldb, info) call cposv(uplo, n, nrhs, a, lda, b, ldb, info) call zposv(uplo, n, nrhs, a, lda, b, ldb, info) Volání C:?posv(uplo, n, nrhs, a, lda, b, ldb, info); M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

37 Konvence - řešení lineárních soustav Konvence?yyzz,?yyzzz, yy - typ matice ge - general po - symetrická nebo Hermitovská positivně definitní sy - symetrická indefinitní he - Hermitovská indefinitní tr - triangular... Podle typu soustavy?gesv - čtvercová matice?posv - symetrická nebo Hermitovská pos. def. matice?sysv - reálná/komplexní symetrická matice?hesv - Hermitovská matice M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

38 Konvence - Konvence Konvence?yyzz,?yyzzz, zzz - požadovaná operace trf - trojúhelníková faktorizace trs - řešení soustavy s faktorizovanou maticí con - spočti odhad podmíněnosti matice rfs - zjemni řešení a spočti chybu rfsx - zjemni řešení a spočti chybu - extra-precise tri - spočti inverzi matice z faktorizace equ - equilibrate matrix Co dělá? sgetrf - Trojúhelníková faktorizace obecné matice v jednoduché přesnosti M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

39 Drivery - driver rutiny Driver kombinuje obvyklá volání dohromady. Konvence zzz -sv - simple (jednoduchý driver) -svx - expert -svxx - extra přesný iterativní expert Jeden driver nebo více volání?gesv - faktorizace a řešení?getrf - LU rozklad?getrs - Výpočet řešení?getrfs - zjemnění řešení, odhad chyby nebo zavolat?gesvx, který obhospodaří vše naráz. M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

40 Příklad Lapack příklad #include <stdlib.h> #include <stdio.h> /* prototyp DPOSV */ extern void dposv( char* uplo, int* n, int* nrhs, double* a, int* lda, double* b, int* ldb, int* info); /* Parametry, rozměry */ #define N 5 #define NRHS 3 #define LDA N #define LDB N M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

41 Příklad Lapack příklad /* Výpis matice (jen pro kontrolu) */ void print_matrix( char* desc, int m, int n, double* a, int lda ) { int i, j; printf( "\n %s\n", desc ); for( i = 0; i < m; i++ ) { for( j = 0; j < n; j++ ) printf( " %6.2f", a[i+j*lda] ); printf( "\n" ); } } M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

42 Příklad Lapack příklad /* Hlavní program */ int main() { /* Lokální proměnné */ int n = N, nrhs = NRHS, lda = LDA, ldb = LDB, info; /* Lokální pole - matice a */ double a[lda*n] = { 3.14, 0.00, 0.00, 0.00, 0.00, 0.17, 0.79, 0.00, 0.00, 0.00, -0.90, 0.83, 4.53, 0.00, 0.00, 1.65,-0.65, -3.70, 5.32, 0.00, -0.72, 0.28, 1.60,-1.37, 1.98 }; M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

43 Příklad Lapack příklad double b[ldb*nrhs] = { -7.29, 9.25, 5.99,-1.94, -8.30, 6.11, 2.90,-5.05, -3.80, 9.66, 0.59, 8.88, 7.57, 5.57,-1.67 }; /* Řešení soustavy A*X = B */ dposv( "Upper", &n, &nrhs, a, &lda, b, &ldb, &info ); /* Konstrola návratové hodnoty: positvní definitnost */ if( info > 0 ) { printf( "Hlavní minor řádu %i není positivně definitní.\n", info ); printf( "Řešení nelze spočítat.\n" ); exit(1); } M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

44 Příklad Lapack příklad /* Print solution */ print_matrix( "Řešení", n, nrhs, b, ldb ); /* Vypiš detail Choleskyho faktoriazce */ print_matrix( "Detail Choleskyho faktorizace", n, n, a, lda ); exit(0); } M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

45 BLACS PBLAS Sca Část II distribuovaná pamět 3 BLACS 4 PBLAS 5 Sca M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

46 BLACS PBLAS Sca BLACS - Basic Linear Algebra Communication Subroutines Komunikační platforma Standartizovaný interface (přes nejrůznější komunikátory MPI, PVM, CMMD,...) procesní sít (2D grid) Kontextové operace Komunikace 2D poĺı Komunikace bez ID Hlavní účel Komunikace submatic vhodné pro husté matice v algoritmech lineární algebry (např. Sca) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

47 BLACS PBLAS Sca BLACS - 2d grid, oblasti, kontexty Procesy jsou uspořádány do 2D gridu Každý proces je člen některého ze tří oblatí (Scope): All - Všechny procesy v gridu Row - Všechny procesy na stejné řádce Column - Všechny procesy na stejném sloupci BLACS komunikace je vázána na kontext - integer (srovnej s MPI komunikátorem) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

48 BLACS PBLAS Sca BLACS - komunikace submatice Jednotka BLACS komunikace je submatice specifikované velikosti a tvaru Submatice Obecná GE Lichoběžníková TR (zobecněná trojúhelníková) Komprimování, paketace je zcela schována před uživatelem Podporavané typy I - Integer S - Single precision D - Double precision C - Complex single precision Z - Complex double precision M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

49 BLACS PBLAS Sca BLACS - bod-bod komunikace Vysílání xgesd2d(ctxt, M, N, A, LDA, RDST, CDST) xtrsd2d(ctxt, UPLO, DIAG, M, N, A, LDA, RDST, CDST) Příjem xgerv2d(ctxt, M, N, A, LDA, RDST, CDST) xtrrv2d(ctxt, UPLO, DIAG, M, N, A, LDA, RDST, CDST) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

50 BLACS PBLAS Sca BLACS - souhrnná komunikace Broadcast - Vysílání xgebs2d(ctxt, SCOPE, TOP, M, N, A, LDA, RDST, CDST) xtrbs2d(ctxt, SCOPE, TOP, UPLO, DIAG, M, N, A, LDA, RDST, CDST) Broadcast - Příjem xgebr2d(ctxt, SCOPE, TOP, M, N, A, LDA, RDST, CDST) xtrbr2d(ctxt, SCOPE, TOP, UPLO, DIAG, M, N, A, LDA, RDST, CDST) Souhrnné operace (SUM, MAX, MIN) xgsum2d(ctxt, SCOPE, TOP, M, N, A, LDA, RDST, CDST) xgamx2d(ctxt, SCOPE, TOP, M, N, A, LDA, RA, CA, RCGLAG, RDST, CDST) xgamn2d(ctxt, SCOPE, TOP, M, N, A, LDA, RA, CA, RCGLAG, RDST, CDST) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

51 BLACS PBLAS Sca BLACS - souhrnná komunikace - topologie Topologie TOP specifikuje komunikační vzor I - Increasing ring D - Decreasing ring S - Split ring M - Multi ring 1-1-tree B - Bidirectional exchange - výchozí (třeba MPI BCAST) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

52 BLACS PBLAS Sca BLACS - start ve Frotranu Inicializace CALL BLACS PINFO(ME, NP) Inicializace kontextu CALL BLACS GET(0, 0, CTXT) CALL BLACS GRIDINIT(CTXT, Row, P, Q) CALL BLACS GRIDINFO(CTXT, P, Q, MYROW, MYCOL) Získej něčí rank ze souřadnic RANK = CALL BLACS PNUM(CTXT, ROW, COL) Získej něčí souřadnice z ranku CALL BLACS PCOORD(CTXT, RANK, ROW, COL) Ukončení CALL BLACS EXIT(0) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

53 BLACS PBLAS Sca PBLAS - Parallel BLAS Úvod Tak podobný BLAS jak jen je možné Přidána pouze jediná funkce Očekává se, že se stane podobným standartem jako BLAS Operuje nad 2D blokovým cyklickým uspořádáním Vyžaduje mnoho popisných parametrů Zavádí se array descriptor M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

54 BLACS PBLAS Sca PBLAS - Parallel BLAS Úvod Tak podobný BLAS jak jen je možné Přidána pouze jediná funkce (transpozice matice) Očekává se, že se stane podobným standartem jako BLAS Operuje nad 2D blokovým cyklickým uspořádáním Vyžaduje mnoho popisných parametrů Zavádí se array descriptor M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

55 BLACS PBLAS Sca PBLAS - array descriptor Popisovač obsahuje 1 DT A Typ deskriptoru 2 CTXT A BLACS kontext 3 M A Počet řádků v distribuované matici 4 N A Počet sloupců v distribuované matici 5 MB A Počet řádků v bloku 6 MB A Počet sloupců v bloku 7 RSRC A Řádek procesu kde je uložena první řádka matice 8 CSRC A Sloupec procesu kde je uložen první sloupec matice 9 LLD A Hlavní dimenze lokálního pole ukládající lokální bloky M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

56 BLACS PBLAS Sca PBLAS - 2D bloková cyklická distribuce Tabulka: Matice 5x5, bloky 2x Tabulka: pohled procesů 2x2 grid M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

57 BLACS PBLAS Sca PBLAS - volání Srovnání BLAS x PBLAS C = βc + αop(a)op(b), kde A zaleží na TRANSA, B na TRANSB, op(a) je M x K, op(b) je K x N. CALL DGEMM ( TRANSA, TRANSB, M, N, K, ALPHA, A( IA, JA ), LDA, B( IB, JB ), LDB, BETA, C( IC, JC ), LDC ) CALL PDGEMM ( TRANSA, TRANSB, M, N, K, ALPHA, A, IA, JA, DESC_A, B, IB, JB, DESC_B, BETA, C, IC, JC, DESC_C ) M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

58 BLACS PBLAS Sca Sca - Scalable Linear Algebra Package pro MIMD počítače - distribuovaná pamět Vetšina funkcí z u Bez podpory banded apacked formátů matic Bez pokročilých algoritmů SVD, QR vlastní čísla pro nesymetrický problém... M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

59 BLACS PBLAS Sca Sca - Konvence Podobnost Tak jako vychází z BLAS tak Scal vychází z PBLAS převzato z u (stačí předsadit p) Submatice musí být předávány explicitně x Sca A(I, J), LDA - přístup A, I, J, DESCA - Sca přístup M. Mádĺık (MFF UK) Numerické knihovny 18. října / 52

60 Paralelní LU rozklad DO 10 J = JA, JA+MIN(M, N)-1, DESCA(5) JB = MIN( MIN (M,N)-J+JA, DESCA(5)) I = IA + J - JA Faktorizuj diagonalni a poddiagonalni bloky Testuj singularitu CALL PDGETF2( M-J+JA, JB, A, I,J, DESCA, IPIV, IINFO) Oprav INFO a pivot IF ( INFO.EQ.0.AND. IIFNO.GT.0 ) INFO = IINFO + J - JA Aplikuj zmeny na sloupce JA:J-JA CALL PDLASWP( Forward, Rows, J-JA,, IA, JA, DESCA, J, $ J+JB-1, IPIV)

61 IF (J-JA+1JB+1.LE.N ) THEN Aplikuj zmeny na sloupce J+JB:JA+N-1. CALL PDTRSM( Left, Lower, No transpose, Unit, $ JB, N-J-JB+JA, ONE, A, I, J, DESCA, A, I, J+B, DESCA) IF (J-JA+JB+1.LE.M) THEN Udate zbyvajici submatice CALL PDGEMM( No transpose, No transpose, $ M-J-JB+JA, N-J-JB_JA, JB, -ONE, A, $ I+JB,J, DESCA, A, I, J+JB, DESCA, $ ONE, A, I+JB, J+JB, DESCA) END IF END IF 10 CONTINUE

Základní rutiny pro numerickou lineární algebru. I. Šimeček, M. Šoch

Základní rutiny pro numerickou lineární algebru. I. Šimeček, M. Šoch Základní rutiny pro numerickou lineární algebru I. Šimeček, M. Šoch xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 BI-EIA, ZS2011/12, Predn.10

Více

Od lineárních rovnic k extrémním superpočítačovým úlohám. Vít Vondrák

Od lineárních rovnic k extrémním superpočítačovým úlohám. Vít Vondrák Od lineárních rovnic k extrémním superpočítačovým úlohám Vít Vondrák Od lineárních rovnic k extrémním superpočítačovým úlohám Vít Vondrák + David Horák a jeho Permoník Osnova přednášky Zobrazování čísel

Více

Numerické metody a programování

Numerické metody a programování Projekt: Inovace výuky optiky se zaměřením na získání experimentálních dovedností Registrační číslo: CZ.1.7/2.2./28.157 Numerické metody a programování Lekce 4 Tento projekt je spolufinancován Evropským

Více

Numerické metody a programování. Lekce 4

Numerické metody a programování. Lekce 4 Numerické metody a programování Lekce 4 Linarní algebra soustava lineárních algebraických rovnic a 11 a 12 x 2 a 1, N x N = b 1 a 21 a 22 x 2 a 2, N x N = b 2 a M,1 a M,2 x 2 a M,N x N = b M zkráceně A

Více

C2115 Praktický úvod do superpočítání

C2115 Praktický úvod do superpočítání C2115 Praktický úvod do superpočítání X. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137

Více

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího). Předmět: MA 4 Dnešní látka Vektorový (lineární) prostor (připomenutí) Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost

Více

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY.   Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY Dana Černá http://www.fp.tul.cz/kmd/ Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci OBSAH A CÍLE SEMINÁŘE: Opakování a procvičení vybraných

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

Více

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího). Předmět: MA 4 Dnešní látka Lineární (vektorový) prostor Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost matic Četba:

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

Základy maticového počtu Matice, determinant, definitnost

Základy maticového počtu Matice, determinant, definitnost Základy maticového počtu Matice, determinant, definitnost Petr Liška Masarykova univerzita 18.9.2014 Matice a vektory Matice Matice typu m n je pravoúhlé (nebo obdélníkové) schéma, které má m řádků a n

Více

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat Čtvercová matice n n, např. může reprezentovat: A = A A 2 A 3 A 2 A 22 A 23 A 3 A 32 A 33 matici koeficientů soustavy n lineárních

Více

Aplikovaná numerická matematika - ANM

Aplikovaná numerická matematika - ANM Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových

Více

Operace s maticemi

Operace s maticemi Operace s maticemi Seminář druhý 17.10. 2018 Obsah 1 Operace s maticemi 2 Hodnost matice 3 Regulární matice 4 Inverzní matice Matice Definice (Matice). Reálná matice typu m n je obdélníkové schema A =

Více

8 Matice a determinanty

8 Matice a determinanty M Rokyta, MFF UK: Aplikovaná matematika II kap 8: Matice a determinanty 1 8 Matice a determinanty 81 Matice - definice a základní vlastnosti Definice Reálnou resp komplexní maticí A typu m n nazveme obdélníkovou

Více

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35 Úvod do paralelního programování 2 MPI Jakub Šístek Ústav technické matematiky FS 9.1.2007 ( Ústav technické matematiky FS ) 9.1.2007 1 / 35 Osnova 1 Opakování 2 Představení Message Passing Interface (MPI)

Více

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího). Předmět: MA 4 Dnešní látka Vlastní čísla a vektory Google Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost matic Četba:

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

1 0 0 u 22 u 23 l 31. l u11

1 0 0 u 22 u 23 l 31. l u11 LU dekompozice Jedná se o rozklad matice A na dvě trojúhelníkové matice L a U, A=LU. Matice L je dolní trojúhelníková s jedničkami na diagonále a matice U je horní trojúhelníková. a a2 a3 a 2 a 22 a 23

Více

Knihovny pro CUDA J. Sloup a I. Šimeček

Knihovny pro CUDA J. Sloup a I. Šimeček Knihovny pro CUDA J. Sloup a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.10 Příprava studijního programu

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 2. přednáška Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 20 Co nás dneska čeká... Závislé a nezávislé

Více

Slajdy k přednášce Lineární algebra I

Slajdy k přednášce Lineární algebra I Slajdy k přednášce Lineární algebra I Milan Hladík Katedra Aplikované Matematiky, Matematicko-fyzikální fakulta, Univerzita Karlova v Praze, http://kammffcunicz/~hladik 22 října 203 Intro Nejstarší zaznamenaná

Více

Arnoldiho a Lanczosova metoda

Arnoldiho a Lanczosova metoda Arnoldiho a Lanczosova metoda 1 Částečný problém vlastních čísel Ne vždy je potřeba (a někdy to není ani technicky možné) nalézt celé spektrum dané matice (velké řídké matice). Úloze, ve které chceme aproximovat

Více

Aplikace metody BDDC

Aplikace metody BDDC Aplikace metody BDDC v problémech pružnosti P. Burda, M. Čertíková, E. Neumanová, J. Šístek A. Damašek, J. Novotný FS ČVUT, ÚT AVČR 14.9.2006 / SAMO 06 (FS ČVUT, ÚT AVČR) 14.9.2006 / SAMO 06 1 / 46 Osnova

Více

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH

Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH Paralelizace kódu Rozdíl v přístupu k paralelizaci kódu si ukážeme na operaci násobení matice maticí: Mějme tři čtvercové

Více

aneb jiný úhel pohledu na prvák

aneb jiný úhel pohledu na prvák Účelná matematika aneb jiný úhel pohledu na prvák Jan Hejtmánek FEL, ČVUT v Praze 24. června 2015 Jan Hejtmánek (FEL, ČVUT v Praze) Technokrati 2015 24. června 2015 1 / 18 Outline 1 Motivace 2 Proč tolik

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Příklady v MATLABu Přednáška 10 30. listopadu 2009 Řídící instrukce if else C Matlab if ( podmínka ) { } else { } Podmíněný příkaz if podmínka elseif podmínka2... else

Více

Lineární algebra - I. část (vektory, matice a jejich využití)

Lineární algebra - I. část (vektory, matice a jejich využití) Lineární algebra - I. část (vektory, matice a jejich využití) Michal Fusek Ústav matematiky FEKT VUT, fusekmi@feec.vutbr.cz 2. přednáška z ESMAT Michal Fusek (fusekmi@feec.vutbr.cz) 1 / 40 Obsah 1 Vektory

Více

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném

Více

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty študenti MFF 15. augusta 2008 1 14 Vlastní čísla a vlastní hodnoty Požadavky Vlastní čísla a vlastní hodnoty lineárního

Více

OPS Paralelní systémy, seznam pojmů, klasifikace

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Transformace obrazu Josef Pelikán KSVI MFF UK Praha Transformace obrazu 99725 Josef Pelikán KSVI MFF UK Praha email: Josef.Pelikan@mff.cuni.cz WWW: http://cgg.ms.mff.cuni.cz/~pepca/ Transformace 2D obrazu dekorelace dat potlačení závislosti jednotlivých

Více

Implementace numerických metod v jazyce C a Python

Implementace numerických metod v jazyce C a Python Fakulta elektrotechnická Katedra matematiky Dokumentace k semestrální práci Implementace numerických metod v jazyce C a Python 2013/14 Michal Horáček a Petr Zemek Vyučující: Mgr. Zbyněk Vastl Předmět:

Více

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti PROSTORY SE SKALÁRNÍM SOUČINEM Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti 1. (x, x) 0 x L, (x, x) = 0 x = 0, 2. (x, y) = (y, x) x, y L, 3. (λx, y) = λ(x,

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují

Více

4. LU rozklad a jeho numerická analýza

4. LU rozklad a jeho numerická analýza 4 LU rozklad a jeho numerická analýza Petr Tichý 24 října 2012 1 Úvod Nechť A je regulární matice Řešíme Ax = b LU rozklad (Gaussova eliminace) je jeden z nejdůležitějších nástrojů pro problém řešení soustav

Více

AVDAT Vektory a matice

AVDAT Vektory a matice AVDAT Vektory a matice Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Vektory x = x 1 x 2. x p y = y 1 y 2. y p Řádkový vektor dostaneme transpozicí sloupcového vektoru x

Více

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Předmět: MA 4 Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Četba: Text o lineární algebře v Příručce přežití na webových

Více

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Skalární součin študenti MFF 15. augusta 2008 1 10 Skalární součin Požadavky Vlastnosti v reálném i komplexním případě Norma Cauchy-Schwarzova nerovnost

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 63 1 2 3 4 5 6 7 8 9 10 11 2 / 63 Aritmetický vektor Definition 1 Aritmetický vektor x je uspořádaná

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Co je obsahem numerických metod?

Co je obsahem numerických metod? Numerické metody Úvod Úvod Co je obsahem numerických metod? Numerické metody slouží k přibližnému výpočtu věcí, které se přesně vypočítat bud nedají vůbec, nebo by byl výpočet neúměrně pracný. Obsahem

Více

Operace s maticemi. 19. února 2018

Operace s maticemi. 19. února 2018 Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice

Více

Kapitola 11: Vektory a matice 1/19

Kapitola 11: Vektory a matice 1/19 Kapitola 11: Vektory a matice 1/19 2/19 Prostor R n R n = {(x 1,..., x n ) x i R, i = 1,..., n}, n N x = (x 1,..., x n ) R n se nazývá vektor x i je i-tá souřadnice vektoru x rovnost vektorů: x = y i =

Více

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Jan Nekvapil jan.nekvapil@tiscali.cz ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Motivace MMX, EMMX, MMX+ 3DNow!, 3DNow!+ SSE SSE2 SSE3 SSSE3 SSE4.2 Závěr 2 Efektivní práce s vektory

Více

Připomenutí co je to soustava lineárních rovnic

Připomenutí co je to soustava lineárních rovnic Připomenutí co je to soustava lineárních rovnic Příklad 2x 3y + z = 5 3x + 5y + 2z = 4 x + 2y z = 1 Soustava lineárních rovnic obecně Maticový tvar: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a

Více

Lineární algebra s Matlabem. Přednáška 1

Lineární algebra s Matlabem. Přednáška 1 Lineární algebra s Matlabem Přednáška 1 Základní informace Kontakt Michal Merta michal.merta@vsb.cz Kancelář IT447 homel.vsb.cz/~mer126 Čt 16:00 (předn.), 17:45 (cv.), PorEB413 Konzultace po předchozí

Více

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád), 1 LINEÁRNÍ ALGEBRA 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci

Více

Ivan Šimeček, Pavel Tvrdík

Ivan Šimeček, Pavel Tvrdík Optimalizace a hodnocení efektivity lineárních kódů Ivan Šimeček, Pavel Tvrdík Department of Computer Science and Engineering Faculty of Electrical Engineering Czech Technical University Karlovo nám. 13

Více

Vlastní číslo, vektor

Vlastní číslo, vektor [1] Vlastní číslo, vektor motivace: směr přímky, kterou lin. transformace nezmění invariantní podprostory charakteristický polynom báze, vzhledem ke které je matice transformace nejjednodušší podobnost

Více

2. Schurova věta. Petr Tichý. 3. října 2012

2. Schurova věta. Petr Tichý. 3. října 2012 2. Schurova věta Petr Tichý 3. října 2012 1 Podobnostní transformace a výpočet vlastních čísel Obecný princip: Úloha: Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci

Více

Globální matice konstrukce

Globální matice konstrukce Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{

Více

Úlohy nejmenších čtverců

Úlohy nejmenších čtverců Úlohy nejmenších čtverců Petr Tichý 7. listopadu 2012 1 Problémy nejmenších čtverců Ax b Řešení Ax = b nemusí existovat, a pokud existuje, nemusí být jednoznačné. Často má smysl hledat x tak, že Ax b.

Více

Paralelní algoritmy v lineární algebře. Násobení matic

Paralelní algoritmy v lineární algebře. Násobení matic Paralelní algoritmy v lineární algebře Násobení matic Násobení matic mějme matice A, B, C R n,n počítáme součin C = AB mějme p procesu a necht p je mocnina dvou matice rozdělíme blokově na p p bloků pak

Více

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie Několik poznámek na téma lineární algebry pro studenty fyzikální chemie Jiří Kolafa Vektory. Vektorový prostor Vektor je často zaveden jako n-tice čísel, (v,..., v n ), v i R (pro reálný vektorový prostor);

Více

Linearní algebra příklady

Linearní algebra příklady Linearní algebra příklady 6. listopadu 008 9:56 Značení: E jednotková matice, E ij matice mající v pozici (i, j jedničku a jinak nuly. [...]... lineární obal dané soustavy vektorů. Popište pomocí maticového

Více

KTE / PPEL Počítačová podpora v elektrotechnice

KTE / PPEL Počítačová podpora v elektrotechnice KTE / PPEL Počítačová podpora v elektrotechnice Ing. Lenka Šroubová, Ph.D. email: lsroubov@kte.zcu.cz http://home.zcu.cz/~lsroubov 3. 10. 2012 Základy práce s výpočetními systémy opakování a pokračování

Více

stránkách přednášejícího.

stránkách přednášejícího. Předmět: MA 4 Dnešní látka Iterační metoda Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Superrelaxační metoda (metoda SOR) Metoda sdružených gradientů Četba: Text o lineární algebře v Příručce

Více

KIV/ZI Základy informatiky MS EXCEL MATICOVÉ FUNKCE A SOUHRNY

KIV/ZI Základy informatiky MS EXCEL MATICOVÉ FUNKCE A SOUHRNY KIV/ZI Základy informatiky MS EXCEL MATICOVÉ FUNKCE A SOUHRNY cvičící: Tomáš Ptáček zimní semestr 2012 MS EXCEL MATICE (ÚVOD) Vektor: (1D) v = [1, 2, 3, 5, 8, 13] Např.: matice sousednosti Matice: (2D)

Více

Vold-Kalmanova řádová filtrace. JiříTůma

Vold-Kalmanova řádová filtrace. JiříTůma Vold-Kalmanova řádová filtrace JiříTůma Obsah Základy Kalmanovy filtrace Základy Vold-Kalmanovy filtrace algoritmus Globální řešení Příklady užití Vold-Kalmanovy řádové filtrace Kalmanův filtr ( n ) Process

Více

4. Trojúhelníkový rozklad p. 1/20

4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad 4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad p. 2/20 Trojúhelníkový rozklad 1. Permutační matice 2. Trojúhelníkové matice 3. Trojúhelníkový (LU) rozklad 4. Výpočet

Více

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Závěrečná zkouška verze cvičná 9.1.2013 Doba řešení: 3 hodiny Přednášející: L. Barto, J. Tůma Křestní jméno: Příjmení: Instrukce Neotvírejte

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

MOORE-PENROSEOVA INVERZE MATICE A JEJÍ APLIKACE. 1. Úvod

MOORE-PENROSEOVA INVERZE MATICE A JEJÍ APLIKACE. 1. Úvod Kvaternion 1/2013, 7 14 7 MOORE-PENROSEOVA INVERZE MATICE A JEJÍ APLIKACE LADISLAV SKULA Abstrakt V článku je uvedena definice pseudoinverzní matice, ukázána její existence a jednoznačnost a zmíněny dvě

Více

7. Lineární vektorové prostory

7. Lineární vektorové prostory 7. Lineární vektorové prostory Tomáš Salač MÚ UK, MFF UK LS 2017/18 Tomáš Salač ( MÚ UK, MFF UK ) 7. Lineární vektorové prostory LS 2017/18 1 / 62 7.1 Definice a příklady Definice 7.1 Množina G s binární

Více

Programy pro ˇreˇsen ı ulohy line arn ıho programov an ı 18. dubna 2011

Programy pro ˇreˇsen ı ulohy line arn ıho programov an ı 18. dubna 2011 Programy pro řešení úlohy lineárního programování 18. dubna 2011 Přehled Mathematica Sage AMPL GNU Linear Programming Kit (GLPK) Mathematica Mathematika je program pro numerické a symbolické počítání.

Více

Kapitola 11: Vektory a matice:

Kapitola 11: Vektory a matice: Kapitola 11: Vektory a matice: Prostor R n R n = {(x 1,, x n ) x i R, i = 1,, n}, n N x = (x 1,, x n ) R n se nazývá vektor x i je i-tá souřadnice vektoru x rovnost vektorů: x = y i = 1,, n : x i = y i

Více

Program SMP pro kombinované studium

Program SMP pro kombinované studium Zadání příkladů k procvičení na seminář Program SMP pro kombinované studium Nejdůležitější typy příkladů - minimum znalostí před zkouškovou písemkou 1) Matice 1. Pro matice 1 0 2 1 0 3 B = 7 3 4 4 2 0

Více

Úvod do OpenMP. Jiří Fürst

Úvod do OpenMP. Jiří Fürst Úvod do OpenMP Jiří Fürst Osnova: Úvod do paralelního programování Počítače se sdílenou pamětí Základy OpenMP Sdílené a soukromé proměnné Paralelizace cyklů Příklady Úvod do paralelního programování Počítač

Více

Vektory a matice. Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)

Vektory a matice. Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) Vektory a matice Petr Hasil Přednáška z matematiky Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny společného základu

Více

Povídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) 3. 12. 2009 Filip Staněk

Povídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) 3. 12. 2009 Filip Staněk Povídání na téma SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) 3. 12. 2009 Filip Staněk Co je to vlastně SC? Výpočetní systém, který určuje hranici maximálního možného výpočetního výkonu......v

Více

DEFINICE Z LINEÁRNÍ ALGEBRY

DEFINICE Z LINEÁRNÍ ALGEBRY DEFINICE Z LINEÁRNÍ ALGEBRY Skripta Matematické metody pro statistiku a operační výzkum (Nešetřilová, H., Šařecová, P., 2009). 1. definice Vektorovým prostorem rozumíme neprázdnou množinu prvků V, na které

Více

IUJCE 07/08 Přednáška č. 6

IUJCE 07/08 Přednáška č. 6 Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak

Více

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku VI Maticový počet VI1 Základní operace s maticemi Definice Tabulku a 11 a 12 a 1n a 21 a 22 a 2n, a m1 a m2 a mn kde a ij R, i = 1,, m, j = 1,, n, nazýváme maticí typu m n Zkráceně zapisujeme (a ij i=1m

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU

Více

1. Matice a maticové operace. 1. Matice a maticové operace p. 1/35

1. Matice a maticové operace. 1. Matice a maticové operace p. 1/35 1. Matice a maticové operace 1. Matice a maticové operace p. 1/35 1. Matice a maticové operace p. 2/35 Matice a maticové operace 1. Aritmetické vektory 2. Operace s aritmetickými vektory 3. Nulový a opačný

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A

Více

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

[1] LU rozklad A = L U

[1] LU rozklad A = L U [1] LU rozklad A = L U někdy je třeba prohodit sloupce/řádky a) lurozklad, 8, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010, g)l. Viz p. d. 4/2010 Terminologie BI-LIN, lurozklad,

Více

Představení a vývoj architektur vektorových procesorů

Představení a vývoj architektur vektorových procesorů Představení a vývoj architektur vektorových procesorů Drong Lukáš Dro098 1 Obsah Úvod 3 Historie, současnost 3 Architektura 4 - pipelining 4 - Operace scatter a gather 4 - vektorové registry 4 - Řetězení

Více

1 Determinanty a inverzní matice

1 Determinanty a inverzní matice Determinanty a inverzní matice Definice Necht A = (a ij ) je matice typu (n, n), n 2 Subdeterminantem A ij matice A příslušným pozici (i, j) nazýváme determinant matice, která vznikne z A vypuštěním i-tého

Více

Zpráva s popisem softwarového návrhu a specifikací rozhraní prototypového modulu pro odhad chyby a zjemnění sítě

Zpráva s popisem softwarového návrhu a specifikací rozhraní prototypového modulu pro odhad chyby a zjemnění sítě TA02011196 1/5 Zpráva s popisem softwarového návrhu a specifikací rozhraní prototypového modulu pro odhad chyby a zjemnění sítě MEER (Modul for Error Estimation and Refinement) je knihovna sloužící pro

Více

Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování

Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování Milan Šimko Technická univerzita v Liberci Interní odborný seminář KO MIX 19. prosince 2011 Obsah prezentace 1 MOTIVACE 2 VLÁKNOVÝ

Více

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2, Úlohy k přednášce NMAG a : Lineární algebra a geometrie a Verze ze dne. května Toto je seznam přímočarých příkladů k přednášce. Úlohy z tohoto seznamu je nezbytně nutné umět řešit. Podobné typy úloh se

Více

ZADÁNÍ ZKOUŠKOVÉ PÍSEMNÉ PRÁCE Z PŘEDMĚTU LINEÁRNÍ ALGEBRA PRO IT. Verze 1.1A

ZADÁNÍ ZKOUŠKOVÉ PÍSEMNÉ PRÁCE Z PŘEDMĚTU LINEÁRNÍ ALGEBRA PRO IT. Verze 1.1A Verze 1.1A Čas na práci: 1 minut Za každý úkol můžete získat maximálně 1 bodů. Řešení každého příkladu zapisujte čitelně a srozumitelně, 2x 1 +4x 3 +3x 4 = 4 x 1 +2x 2 +4x 3 3x 4 = 1 2x 1 +x 2 x 3 3x 4

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

ALGEBRA. Téma 5: Vektorové prostory

ALGEBRA. Téma 5: Vektorové prostory SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 5: Vektorové prostory Základní pojmy Vektorový prostor nad polem P, reálný (komplexní)

Více

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace

Více

Semestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0

Semestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0 Semestrální projekt Předmět: Programování v jazyce C Zadání: Operace s maticemi Uživatelský manuál ver. 1.0 Jakub Štrouf Obor: Aplikovaná informatika Semestr: 1. Rok: 2009/2010 Obsah: 1. Úvod 1.1. Technická

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více