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

Paralelní počítání

Jazyk výuky angličtina, čeština
Kód 460-4179
Zkratka PCO
Název předmětu česky Paralelní počítání
Název předmětu anglicky Parallel Computing
Garantující katedra Katedra informatiky
Garant předmětu prof. Ing. Pavel Krömer, Ph.D.

Anotace

Kurz bude posluchačům prezentovat základní znalosti pro práci v oblasti paralelních a distribuovaných výpočtů. Seznámí posluchače s charakteristikou širokého spektra moderních paralelních systémů se sdílenou a distribuovanou pamětí počínaje vícejádrovými procesory a víceprocesorovými systémy přes výpočetní akcelerátory až po paralelních systémy s distribuovanou pamětí. Zaměří se zejména na návrh a implementaci efektivních paralelních algoritmů pro řešení různých druhů výpočetně náročných úloh z různých aplikačních oblastí.

Důraz je kladen jak na popis standardních paralelních paradigmat, rozhraní, jazyků a knihoven, tak na reflexi aktuálního vývoje v této oblast prostřednictvím představení nejnovějších paralelních platforem a prostředí. Posluchač bude seznámen s programováním systémů se sdílenou pamětí (OpenMP), výpočetních akcelerátorů a tvorbou distribuovaných aplikací prostřednictvím modelu předávání zpráv (MPI). Diskutovány budou také cloudové platformy, model map-reduce nebo paralelismus v jazyce Python.

Cvičení budou věnována návrhu a implementaci paralelních algoritmů v prostředí OpenMP, MPI či CUDA-C.

Povinná literatura

1. Sylaby k předmětu Paralelní počítání.
2. Parallel Programming for Multicore and Cluster Systems, 3rd edition. Thomas Rauber, Gudula Rünger. Springer International Publishing, 2023.
3. Introduction to Parallel Computing. Z. J. Czech. Cambridge: Cambridge University Press, 2017.
4. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Ian Foster, Addison Wesley, 1995

Doporučená literatura

1. The OpenMP Common Core: Making OpenMP Simple Again, Timothy G. Mattson, Yun He, Alice E. Koniges. MIT Press, 2019
2. Distributed Systems (3rd ed.), Andrew S. Tanenbaum, Maarten van Steen, 2017
3. Distributed Computing Principles, Algorithms, and Systems, Ajay D. Kshemkalyani, Mukesh Singhal, Cambridge, 2008