Paralelní programování
| Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
|---|---|---|---|---|
| 2012060 | KZ | 4 | 2P+2C+0L | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- ústav technické matematiky
- Anotace:
-
Předmět se zabývá úvodem do paralelního programování se zaměřením na vědecko-technické výpočty.
Studenti se seznámí se základními principy programování počítačů se sdílenou pamětí, počítačů s
distribuovanou pamětí a počítačů vybavených GPU akcelerátory. Jednotlivé postupy budou demonstrovány
na řešení jednoduchých úloh implementovaných v C/C++.
1. Architektury paralelních počítačů, paralelní výpočet, urychlení, účinnost paralelizace, Amdahlův zákon
2. Počítač se sdílenou pamětí, procesy a vlákna, synchronizace, zámky
3. Podpora paralelních výpočtů v jazyce C++ 17
4. Paralelní programování pomocí OpenMP základní direktivy
5. Paralelní programování pomocí OpenMP paralelní implementace jednoduché úlohy
6. Paralelní programování pomocí OpenMP pokročilé direktivy
7. Počítač s distribuovanou pamětí, úvod do MPI
8. Point-to-point komunikace v knihovně MPI
9. Implementace jednoduché úlohy pomocí MPI
10. Další typy komunikace v MPI, datové typy, redukce
11. GPU akcelerátory, jazyk CUDA
12. Implementace jednoduché úlohy pro GPU akcelerátor.
- Požadavky:
- Osnova přednášek:
-
1. Architektury paralelních počítačů, paralelní výpočet, urychlení, účinnost paralelizace, Amdahlův zákon
2. Počítač se sdílenou pamětí, procesy a vlákna, synchronizace, zámky
3. Podpora paralelních výpočtů v jazyce C++ 17
4. Paralelní programování pomocí OpenMP základní direktivy
5. Paralelní programování pomocí OpenMP paralelní implementace jednoduché úlohy
6. Paralelní programování pomocí OpenMP pokročilé direktivy
7. Počítač s distribuovanou pamětí, úvod do MPI
8. Point-to-point komunikace v knihovně MPI
9. Implementace jednoduché úlohy pomocí MPI
10. Další typy komunikace v MPI, datové typy, redukce
11. GPU akcelerátory, jazyk CUDA
12. Implementace jednoduché úlohy pro GPU akcelerátor.
- Osnova cvičení:
- Cíle studia:
- Studijní materiály:
-
Doporučená literatura:
Robey, Robert, and Yuliana Zamora. Parallel and High Performance Computing, Manning Publications Co. LLC,
2021. ProQuest Ebook Central, https://ebookcentral.proquest.com/lib/cvut/detail.action?docID=6683526.
Scott, Larkin Ridgway, et al. Scientific Parallel Computing, Princeton University Press, 2005. ProQuest Ebook
Central, https://ebookcentral.proquest.com/lib/cvut/detail.action?docID=7174828.
Matloff, Norman. Parallel Computing for Data Science : With Examples in R, C++ and CUDA, CRC Press LLC,
2015. ProQuest Ebook Central, https://ebookcentral.proquest.com/lib/cvut/detail.action?docID=4742707
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: