Výpočty na vícejádrových procesorech
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NI-MCC | Z,ZK | 5 | 2P+1C | česky |
- Přednášející:
- Ivan Šimeček (gar.)
- Cvičící:
- Ivan Šimeček (gar.), Daniel Langr
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
Studenti se v předmětu seznámí detailně s hardwarovou podporou a programovacími technologiemi pro tvorbu paralelních vícevláknových výpočtů na vícejádrových procesorech se sdílenou a s virtuálně sdílenou pamětí, které tvoří dnes nejběžnější výpočetní uzly výkonných počítačových systémů. Studenti získají znalost architektonicky specifických optimalizačních technik, sloužících k zmenšení poklesu výpočetního výkonu v důsledku rozvírající se výkonnostní mezery mezi výpočetními požadavky vícejádrových CPU a propustností paměťového rozhraní. Na konkrétních netriviálních vícevláknových programech se pak studenti naučí i základy umění tvorby těchto aplikací.
- Požadavky:
-
Základy programování v C a C++ (na úrovni předmětů BI-PA1 a BI-PA2), absolvování předmětu Paralelní a distribuované programování (MI-PDP). Doporučené absolvování předmětu Efektivní programování v C++ (MI-EPC; dříve MI-MPC).
- Osnova přednášek:
-
1. Víceprocesorové, vícejádrové a vícevláknové architektury.
2.-3. (2) Optimalizace sekvenčních kódů.
4. Modely relaxované konzistence sdílené paměti.
5. Optimalizace synchronizačních operací ve vícevláknových algoritmech.
6. Alokátory paměti pro paralelní výpočty.
7.-8. (2) Lock-free a wait-free programování a datové struktury.
9.-10. (2) Plánování vláken a práce s pamětí v NUMA architekturách.
11.-12. (2) Případové studie vícevláknových algoritmů.
13. Vícevláknové programování a vektorizace.
- Osnova cvičení:
-
Na počítačových cvičeních řeší studenti úlohy navazující na přednášky; cvičící poskytuje konzultace a rady.
- Cíle studia:
- Studijní materiály:
-
1. Solihin, Y. : Fundamentals of Parallel Multicore Architectures (1st Edition). Chapman & Hall/CRC Computational Science, 2015. ISBN 9781482211184.
2. Sorin, D. J. - Hill, M. D. - Wood, D. A. : A Primer on Memory Consistency and Cache Coherence. Morgan & Claypool Publishers, 2012. ISBN 1608455645.
3. Pllana, S. - Xhafa, F. (Eds) : Programming Multicore and Many-core Computing Systems. Wiley, 2017. ISBN 0470936908.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na
- 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ů:
-
- Specializace Teoretická informatika, verze 2018 až 2019 (VO)
- Počítačová bezpečnost, verze 2020 (VO)
- Návrh a programování vestavných systémů, verze 2020 (VO)
- Počítačové systémy a sítě, verze 2020 (PS)
- Manažerská informatika, verze 2020 (VO)
- Softwarové inženýrství, verze 2020 (VO)
- Systémové programování, verze 2020 (VO)
- Webové inženýrství, verze 2020 (VO)
- Znalostní inženýrství, verze 2020 (VO)
- Specializace Teoretická informatika, verze 2020 (VO)
- Magisterský program Informatika, plán pro studenty bez specializace, verze 2020 (VO)