Detail předmětu
Architektury výpočetních systémů
FIT-AVSAk. rok: 2022/2023
Předmět pokrývá architekturu současných výpočetních systémů složených z univerzálních i specializovaných procesorů a jejich paměťové subsystémy. Paralelismus na úrovni instrukcí je studován na skalárních, superskalárních a VLIW procesorech. Dále jsou probrány procesory s vláknovým paralelismem. Datový paralelismus je ilustrován na SIMD instrukcích a na grafických procesorech. Následuje výklad programování víceprocesorových systémů se sdílenou pamětí v prostředí OpenMP a popis nejrozšířenějších vícejádrových multiprocesorů i pokročilých systémů NUMA. V závěru se probírá generická architektura grafických karet a základní techniky akcelerace výpočtů na GPU pomocí OpenMP. Jsou vysvětleny i techniky použité při nízkopříkonových procesorů a aplikací.
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Přehled architektur současných výpočetních systémů, jejich možností a budoucích trendů. Schopnost vyhodnotit efektivitu softwarových aplikací na daném výpočetním systému, identifikovat výkonnostní problémy a navrhnout jejich nápravu. Praktické zkušenosti s prací na superpočítačích Barbora a Karolina.
Pochopení důsledků hardwarových omezení na efektivitu softwarových řešení.
Prerekvizity
Literatura
Hennessy, J.L., Patterson, D.A.: Computer Architecture - A Quantitative Approach. 5. vydání, Morgan Kaufman Publishers, Inc., 2012, 1136 s., ISBN 1-55860-596-7. (EN)
http://inst.eecs.berkeley.edu/~cs152/sp13/
van der Pas, R., Stotzer, E., and Terboven, T.: Using OpenMP-The Next Step, MIT Press Ltd, ISBN 9780262534789, 2017. (EN)
Baer, J.L.: Microprocessor Architecture. Cambridge University Press, 2010, 367 s., ISBN 978-0-521-76992-1.
Agner Fog: Software optimization resources
Způsob a kritéria hodnocení
Jazyk výuky
Cíl
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
- Zameškaná cvičení je možné nahradit v alternativní termín.
- V poslední týdnu semestru budou probíhat náhradní cvičení.
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2 magisterský navazující
obor MBS , libovolný ročník, zimní semestr, 5 kreditů, povinně volitelný
obor MBI , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MIS , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MIN , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MMM , libovolný ročník, zimní semestr, 5 kreditů, volitelný - Program MITAI magisterský navazující
specializace NISD , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NISY do 2020/21 , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NISY , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NSEC , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NMAT , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NGRI , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NVER , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NBIO , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NIDE , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NCPS , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NNET , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NVIZ , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NSEN , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NMAL , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NHPC , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NEMB , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NEMB do 2021/22 , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NADE , 1. ročník, zimní semestr, 5 kreditů, povinný
specializace NSPE , 1. ročník, zimní semestr, 5 kreditů, povinný - Program IT-MGR-2 magisterský navazující
obor MGM , 2. ročník, zimní semestr, 5 kreditů, volitelný
obor MPV , 2. ročník, zimní semestr, 5 kreditů, povinný
obor MSK , 2. ročník, zimní semestr, 5 kreditů, povinně volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Skalární procesory, zřetězené zpracování instrukcí, asistence kompilátoru.
- Superskalární procesory, dynamické plánování instrukcí.
- Optimalizace toku dat v hierarchii pamětí cache.
- Predikce skoků, optimalizace načítání instrukcí a dat.
- Procesory s podporou datového paralelismu a vektorizace.
- Procesory s podporou vláken a vícejádrové procesory.
- Paralelizace a vektorizace smyček.
- Funkční paralelismus a akcelerace rekurzivních algoritmů.
- Synchronizace na systémech se sdílenou pamětí.
- Algoritmy koherence pamětí cache.
- Architektury s distribuovanou sdílenou pamětí.
- Architektura a programování grafických karet.
- Nízkopříkonové procesory a techniky pro snižování příkonu.
Cvičení na počítači
Vyučující / Lektor
Osnova
- Měření výkonnosti sekvenčních kódů, představení Intel Tools (4. týden).
- Efektivní využití cache, přehazování a rozbalování smyček (5. týden).
- Vektorizace kódu pomocí OpenMP (7. týden).
- Paralelizace smyček pomocí OpenMP (8. týden).
- Funkční paralelizace pomocí OpenMP tasků (10. týden).
- Sekce a vzájemné vyloučení pomocí OpenMP (11. týden).
Projekt
Vyučující / Lektor
Osnova
- Měření výkonnosti a optimalizace procesorového kódu pomocí OpenMP.
- Vývoj aplikace na v OpenMP na NUMA uzlu superpočítače.
eLearning