Přeskočit na hlavní obsah
Přeskočit hlavičku

Paralelní algoritmy

Typ studia doktorské
Jazyk výuky angličtina
Kód 460-6008/02
Zkratka PA
Název předmětu česky Paralelní algoritmy
Název předmětu anglicky Parallel Algorithms
Kreditů 10
Garantující katedra Katedra informatiky
Garant předmětu prof. Ing. Pavel Krömer, Ph.D.

Osnova předmětu

• Paralelní programování. Procesy a vlákna. Procesy a vlákna z pohledu operačního systému.
• Sekvenční vs. paralelní programování. Systémy upozornění a uvíznutí z pohledu paralelního programování (definice, vlastnosti, podmínky, detekce, eliminace).
• Paralelní versus distribuované aplikace. Klasifikace paralelních systémů. Sdílené paměťové systémy a distribuované paměťových systémů. Flynnova taxonomie.
• Programování sdílených paměťových systémů. Programování s vlákny. Knihovna pthreads, vlákna v jazyce C++, Java a C #. Synchronizace a vyloučení, zatuhnutí.
• Rozhraní OpenMP. Podpora OpenMP v moderních překladačích. OpenMP direktivy a funkce. Redukce v OpenMP.
• R a jeho balíčky pro paralelní programování
• Programování v gridu a cloudu. Webové služby a distribuované aplikace využívající webové služby. Map-reduce paradigma a rámec Hadoop.
• Přehled prostředí pro paralelní programování, instrukce SIMD.
• Programování na grafických kartách. Architektura GPGPU (organizace programu, organizace paměti). Datový paralelismus. Platforma CUDA a jazyk CUDA-C.

Povinná literatura

• I. Foster: Designing and Building Parallel Programs. Addisson-Wesley, 1995.
Standardizační dokumentace k MPI, OpenMP

Doporučená literatura

• A. Grama et al.: Introduction to Parallel Computing, Second Edition. Pearson, 2003.
• C. Lyn, L. Snyder: Principles of Parallel Programming. Pearson, 2009.
• J. JáJá: An Introduction to Parallel Algorithms. Addison-Wesley, 1992.