|
Vyučující
|
-
Koutný Tomáš, doc. Ing. Ph.D.
|
|
Obsah předmětu
|
1. Topologie a architektury paralelních systémů 2. Temporální logika, odolnost proti selhání 3. Systémy s mnoha procesorovými jádry 4. Paralelismus na úrovni instrukcí 5. Vektorizace 6. Ada, OS API 7. Transformace problému s upořádanými proměnnými do paralelizovatelné formy 8. Paralelní AI 9. Případová studie 10. Pokročilé techniky urychlení výpočtu v distribuovaném prostředí. 11. Distribuovaná inteligence
|
|
Studijní aktivity a metody výuky
|
Přednáška s diskusí, Demonstrace dovedností, Studium metodou řešení problémů, Seminární výuka, Samostatná práce studentů
- Příprava na zkoušku [10-60]
- 104 hodin za semestr
- Vypracování seminární práce v magisterském studijním programu [5-100]
- 52 hodin za semestr
|
| Předpoklady |
|---|
| Odborné znalosti |
|---|
| aplikovat základní znalosti počítačových sítí |
| používat funkce operačního systému pro práci s vlákny |
| aplikovat znalosti základů operačních systémů |
| Odborné dovednosti |
|---|
| programovat v pointerovém jazyce, např. C či C++ |
| nainstalovat a použít knihovnu jiného vývojáře |
| Obecné způsobilosti |
|---|
| mgr. studium: používají své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce, |
| Výsledky učení |
|---|
| Odborné znalosti |
|---|
| popsat možnosti paralelizace kódu pro SMP |
| popsat možnosti paralelizace pro CPU+GPGPU |
| orientovat v technologiích pro paralelní výpočty |
| popsat principy a vlastnosti paralelních a distribuovaných systémů, včetně plánování, koordinace, synchronizace a komunikace procesů, a způsoby komunikace běžnými síťovými protokoly |
| Odborné dovednosti |
|---|
| rozhodnout se, jakou technologii použít pro vývoj paralelního programu |
| vytvořit paralelní program pro SMP CPU a GPGPU |
| Obecné způsobilosti |
|---|
| mgr. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých, |
| Vyučovací metody |
|---|
| Odborné znalosti |
|---|
| Samostudium, |
| Přednáška s diskusí, |
| Řešení problémů, |
| Odborné dovednosti |
|---|
| Prezentace práce studentů, |
| Samostatná práce studentů, |
| Obecné způsobilosti |
|---|
| Přednáška s diskusí, |
| Hodnotící metody |
|---|
| Odborné znalosti |
|---|
| Písemná zkouška, |
| Seminární práce, |
| Kombinovaná zkouška, |
| Skupinová prezentace, |
| Odborné dovednosti |
|---|
| Seminární práce, |
| Skupinová prezentace, |
| Individuální prezentace, |
| Kombinovaná zkouška, |
| Obecné způsobilosti |
|---|
| Písemná zkouška, |
| Kombinovaná zkouška, |
|
Doporučená literatura
|
-
Ali Sunyaev. Internet Computing: Principles of Distributed Systems and Emerging Internet-Based Technologies. 2020. ISBN 978-3030349561.
-
Björn Andrist, Viktor Sehr. C++ High Performance: Master the art of optimizing the functioning of your C++ code. 2020. ISBN 978-1839216541.
-
Dahlia Malkhi. Concurrency: The Works of Leslie Lamport. 2019. ISBN 978-1450372701.
-
James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian. Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL. 2020. ISBN 978-1484255735.
-
Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger. Sequential and Parallel Algorithms and Data Structures: The Basic Toolbox. 2019. ISBN 978-3030252083.
-
Rob H. Bisseling. Parallel Scientific Computation: A Structured Approach Using BSP. 2020. ISBN 978-0198788355.
|