9600-1011/01 – Paralelní numerické knihovny (PNK)
Garantující katedra | IT4Innovations | Kredity | 6 |
Garant předmětu | doc. Mgr. Vít Vondrák, Ph.D. | Garant verze předmětu | doc. Mgr. Vít Vondrák, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 1 | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2016/2017 | Rok zrušení | |
Určeno pro fakulty | FAST, FS, USP, FEI | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Po absolvování předmětu bude student schopen aktivně využívat nové pojmy z oblasti paralelních knihoven.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Projekt
Anotace
Předmět seznamuje studenta s efektivními paralelními implementacemi numerických metod a jejich využitím pro paralelní řešení velmi rozsáhlých úloh. Takovéto úlohy již není možné počítat na běžných osobních počítačích, vyžadují použití superpočítačů. Student se setká s nejpoužívanějšími převážně open-source knihovnami pro numerické výpočty. Na cvičeních bude kladen důraz na implementaci v jazyce C/C++ nebo FORTRAN.
Povinná literatura:
1. Gene H. Golub and Charles F. Van Loan, Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences), Dec 27, 2012
2. Manuály k jednotlivým probíraným paralelním numerickým knihovnám.
Doporučená literatura:
Další vhodné zdroje dostupné na internetu.
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
E-learning
Další požadavky na studenta
Na studenta nejsou kladeny žádné další požadavky.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
1. Úvod do programovacího jazyka FORTRAN
2. Sady nástrojů pro numerické výpočty
o Trilinos, Eigen, Armadillo, MKL
o PETSc a nadstavby (SLEPc, TAO, libMesh, Deal.II, FEniCS)
3. Specifikace BLAS (Basic linear algebra subroutines)
o existující implementace (ATLAS, GotoBLAS, MKL, CUBLAS)
4. Metody pro řešení hustých soustav lineárních rovnic
o uložení hustých matic
o blokování pro efektivní využití vyrovnávací paměti procesoru
o řešení soustav s indefinitní nebo singulární maticí
o stabilizace pomocí pivotizace a metody RBT (Random Butterfly Transformation)
o existující implementace (LINPACK, LAPACK, ScaLAPACK, MKL, CULA, PLASMA, MAGMA)
5. Metody pro řešení rozsáhlých řídkých soustav lineárních rovnic
o uložení řídkých matic (CSR, CSC, …)
o přeuspořádání pro zachování řídkosti
o grafové metody (METIS a spol.)
o multifrontální metoda
o supernodální metoda
o existující implementace (MUMPS, SuperLU, PaStiX, PARDISO)
6. Metody pro řešení rozsáhlých úloh vlastních čísel
o QR rozklad, souvislost s Choleského rozkladem
o spektrální a SVD rozklad
o iterační metody
o existující implementace (např. ARPACK, BLOPEX, FEAST, MKL)
7. Metody předpodmínění, doménové dekompozice a multigrid
o existující implementace (Hypre, Trilinos, PETSc)
8. Metody diskretizace v kontextu HPC
o FDM, FEM
o existující implementace (libMesh, Deal.II, FEniCS)
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky