Vyučující
|
-
Předota Milan, doc. RNDr. Ph.D.
|
Obsah předmětu
|
Obsah přednášek: 1. Úvod do paralelního počítání. Co je to paralelní počítání? Proč potřebujeme paralelní počítače? Strategie paralelizace. Seznámení s jednoduchým paralelním programem. 2. Příkazy jazyka C pro práci se soubory a časování běhu programu. 3. Rozdělení paralelních úloh z hlediska jejich spolupráce během výpočtu. Sdílená vs. distribuovaná paměť, MPI vs. OpenMP paralelní prostředí. 4. Co je to MPI? Příkazy pro vytvoření a správu paralelního prostředí. 5. Paralelizace v MPI, základní příkazy (MPI BCAST, MPI REDUCE, MPI ALLREDUCE). 6. Správa úloh, spouštění paralelních úloh, frontové systémy. 7. Paralelizace v MPI, další příkazy (MPI SEND, MPI RECV). 8. Vstup a výstup v paralelních programech. Srovnání jednotlivých metod. 9. Komunikace vs. výpočetní čas - optimalizace počtu vláken, efektivita. 10. Paralelizace v OpenMP, základní příkazy. 11. Aplikace: Paralelní výpočty v matematice. 12. Aplikace. Paralelní třídění. 13. Aplikace. Paralelní molekulární dynamika. 14. Programování na grafických kartách (GPU). Obsah cvičení: Obsah cvičení sleduje obsah přednášek. Zpočátku je větší prostor věnován přednáškám, v druhé polovině kurzu cvičením.
|
Studijní aktivity a metody výuky
|
Monologická (výklad, přednáška, instruktáž), Demonstrace, Aktivizující (simulace, hry, dramatizace)
- Domácí příprava na výuku
- 39 hodin za semestr
- Účast na výuce
- 39 hodin za semestr
- Příprava na zkoušku
- 30 hodin za semestr
|
Výstupy z učení
|
Seznámení se způsoby paralelizace programů, jejich HW a SW implementací pomocí MPI a OpenMP. Krátké seznámení s paralelizací na GPU - grafických kartách. Řešení vzorových praktických úloh, práce v paralelním prostředí.
Zvládnutí MPI a OpenMP paralelizace, seznámení s principy GPU paralelizace. Schopnost napsat paralelní program a/nebo zparalelizovat sériový program.
|
Předpoklady
|
Základní znalost programování v jazyce C, základy práce v linuxu (možno rychle doplnit).
|
Hodnoticí metody a kritéria
|
Ústní zkouška, Analýza výkonů studenta
Podmínka získání zápočtu: Vyřešení alespoň 70% úkolů řešených na cvičení s pomocí vyučujícího. Samostatné vyřešení dvou větších samostatných úloh na alespoň 50%. Podmínka složení zkoušky: Alespoň 50% znalost látky obsažené ve dvou vylosovaných zkušebních otázkách.
|
Doporučená literatura
|
-
BARBARA CHAPMAN, GABRIELE JOST, RUUD VAN DER PAS: Using OpenMP: Portable Shared Memory Parallel Programming, The MIT Press, 2007.
-
Elearningové materiály ke kurzu M. Předoty.
-
MICHAEL J. QUINN: Parallel Programming in C with MPI and OpenMP, McGraw Hill Higher Education, 2003.
-
Parallel Programming in OpenMP by Rohit Chandra, Leo Dagum, Dave Kohr, and Dror Maydan.
-
Using MPI - 2nd Edition: Portable Parallel Programming with the Message Passing Interface (Scientific and Engineering Computation) by William Gropp, Ewing Lusk, and Anthony Skjellum.
|