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 |
- Garant předmětu:
- Ivan Šimeček
- Přednášející:
- Daniel Langr, Ivan Šimeček
- Cvičící:
- Daniel Langr, Ivan Šimeček
- 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++ (NI-EPC).
- 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. Využití SIMD výpočtů na soudobých procesorech
8. Sdílená paměť, paměťová místa, sdílený a exkluzivní přístup, atomické operace.
9. Atomické operace.
10. Uspořádání paměťových operací, paměťové modely.
11. Spinlock, cache koherence, škálovatelné paměťové alokátory.
12. Vlákna a C++, thread pool.
- 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:
- Další informace:
- https://courses.fit.cvut.cz/NI-MCC/
- Rozvrh na zimní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Mgr. specializace Teoretická informatika, 2018-2019 (volitelný předmět)
- Mgr. specializace Počítačová bezpečnost, 2020 (volitelný předmět)
- Mgr. specializace Návrh a programování vestavných systémů, 2020 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2020 (PS)
- Mgr. specializace Manažerská informatika, 2020 (volitelný předmět)
- Mgr. specializace Softwarové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2020 (volitelný předmět)
- Mgr. specializace Webové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Znalostní inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2020 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2020 a vyšší (VO)
- Master Specialization Digital Business Engineering, 2023 (VO)
- Mgr. specializace Systémové programování, verze od 2023 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2023 (volitelný předmět)