Programování paralelních systémů
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
QNI-PPS | Z,ZK | 6 | 2P+2C | anglicky |
- Garant předmětu:
- Pavel Tvrdík
- Přednášející:
- Pavel Tvrdík
- Cvičící:
- Pavel Tvrdík
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
V dnešní době se vícejádrové procesory a GPU akcelerátory staly běžnou částí výpočetních klastrů a vysoce výkonných výpočetních systémů a proto znalosti a dovednosti týkající se paralelního programování jsou nezbytnou výbavou každého informatika. Cílem předmětu je seznámit studenty s architekturami a s metodami programování paralelních počítačů se sdílenou pamětí, s GPU akcelerátory a s distribuovanou pamětí.pro efektivní využití těchto moderních výpočetních systémů je nezbytné kombinovat techniky paralelizace na všech těchto třech úrovních. Studenti získají znalosti příslušných programovacích modelů, jazyků a prostředí. Seznámí se s fundamentálními paralelními algoritmy a budou schopni analyzovat limitace, efektivnost a škálovatelnost paralelních řešení vybraných problémů na výkonných výpočetních systémech. Vedle nezbytné teorie v přednáškách budou studenti v rámci cvičení získávat praktické zkušenosti a dovednosti s programováním v prostředích OpenMP, CUDA a MPI.
- Požadavky:
- Osnova přednášek:
-
1. Úvod do paralelních systémů.
2. OpenMP: Paralelní programování nad sdílenou pamětí.
3. GPU programování
4. MPI: Programovaní nad distribuovanou pamětí.
5. Efektivnost paralelních algoritmů.
6. Paralelní redukce a prefixový součet.
7. Paralelní řazení I.
8. Paralelní řazení II.
9. Paralelní násobení polynomů a matic.
10. Paralelní husté řešiče.
11. Paralelní násobení matice vektorem.
12. Paralelní řídké řešiče.
13. Synchronizace a paralelní VV.
- Osnova cvičení:
-
Není dosud vyplněno.
- Cíle studia:
-
V dnešní době se vícejádrové procesory a GPU akcelerátory staly běžnou částí výpočetních klastrů a vysoce výkonných výpočetních systémů a proto znalosti a dovednosti týkající se paralelního programování jsou nezbytnou výbavou každého informatika. Cílem předmětu je seznámit studenty s architekturami a s metodami programování paralelních počítačů se sdílenou pamětí, s GPU akcelerátory a s distribuovanou pamětí.pro efektivní využití těchto moderních výpočetních systémů je nezbytné kombinovat techniky paralelizace na všech těchto třech úrovních. Studenti získají znalosti příslušných programovacích modelů, jazyků a prostředí. Seznámí se s fundamentálními paralelními algoritmy a budou schopni analyzovat limitace, efektivnost a škálovatelnost paralelních řešení vybraných problémů na výkonných výpočetních systémech. Vedle nezbytné teorie v přednáškách budou studenti v rámci cvičení získávat praktické zkušenosti a dovednosti s programováním v prostředích OpenMP, CUDA a MPI.
- Studijní materiály:
-
1. Barlas C.: Multicore and GPU Programming, 2nd Edition
Elsevier 2023
ISBN 978-0-12-814120-5
2. Kumar, V., Grama, A., Gupta, A., Karpis, G.: Introduction to Parallel Computing, 2nd Edition
Adison Wesley 2003
ISBN 0-201-64865-2
3. Mattson, T. G., Sanders, B. A., Massingill, B. L.: Patterns for Parallel Programming
Addison-Wesley Professional 2004
ISBN 978-0321940780
4. Miller, R., Boxer, L.: Algorithms Sequential and Parallel: A Unified Approach, 2nd Edition
Charles River Media 2005
ISBN 978-1-58450-412-2
5. Wilkinson, B., Allen, M.: Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, 2nd Edition
Pearson 2004
ISBN 0136717101
6. Whu, W. W., Kirk, D. B., Hajj, I. E.: Programming Massively Processors, 4th Edition
Elsevier 2023
ISBN 978-0-323-91231-0
7. Zecevic, A. I.: Quantum and Parallel Computing
Scripta Aesthetica 2022
ISBN 979-8788504056
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/QNI-PPS
- Další informace:
- https://courses.fit.cvut.cz/QNI-PPS
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Kvantová informatika (povinný předmět programu)