Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2 značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
BIK-EIA | Efektivní implementace algoritmů | Rozsah kontaktní výuky: | 13KP+4KC | ||
---|---|---|---|---|---|
Vyučující: | Způsob zakončení: | Z,ZK | |||
Zodpovědná katedra: | 18101 | ECTS Kredity: | 5 | Semestr: | Z |
Anotace:
Studenti se naučí kombinovat svě programátorské dovednosti (schopnost tvořit efektivní algoritmy) a znalost HW (využití všech dostupných rysů architektur procesorů a paměťové hierarchie). Studenti se naučí i ladit a optimalizovat výkonnost a efektivnost algoritmů.
Osnovy přednášek:
1. | Opakování základních pojmů z architektur (pipeline, cache paměti, TLB). | |
2. | Nové architekturní rysy moderních procesorů. | |
3. | Paralelní (vícejádrové) architektury. | |
4. | Popis rozhraní OpenMP. | |
5. | Efektivní algoritmy, asymptotická složitost a její nevýhody v inženýrské praxi. | |
6. | Volba efektivních datových struktur a jejich kombinací. | |
7. | Základní rutiny pro numerické lineární algebry (husté matice). | |
8. | Základní rutiny pro numerické lineární algebry (řídké matice). | |
9. | Metody transformací zdrojových kódů I. | |
10. | Metody transformací zdrojových kódů II. | |
11. | Kompilátory a optimalizace. | |
12. | Modely chování skryté (cache) paměti. | |
13. | Modely chování sdílených skrytých (cache) pamětí |
Osnovy cvičení:
1. | Seznámení s vybavením učebny. | |
2. | Výkonnostní ukazatele. | |
3. | Algoritmy pro vyhledávání prvku. | |
4. | Algoritmy pro vyhledávání v textu, vyhodnocení logických výrazů. | |
5. | Profilování kódu pomocí čítačů událostí, zadání úlohy č. 1 | |
6. | Experimenty s nastavením kompilátoru. | |
7. | Řazení ve vnitřní paměti. | |
8. | Řazení ve vnější paměti, odevzdání úlohy č. 1 | |
9. | Algoritmus FFT a modelování interakce více částic, zadání úlohy č. 2 | |
10. | Grafové algoritmy, zadání úlohy č. 3 | |
11. | Šifrování, komprese dat, odevzdání úlohy č. 2 | |
12. | Dostupné matematické knihovny | |
13. | Odevzdání úlohy č.3, zápočet |
Literatura:
Wolfe, M. ''High-Performance Compilers for Parallel Computing''. Addison Wesley, 1995. ISBN 0805327304.
Wadleigh, K. R., Crawford, I. L. ''Software Optimization for High Performance Computing: Creating Faster Applications''. Prentice Hall PTR, 2000. ISBN 0130170089.
Požadavky:
Předmět BI-EFA. Znalost programování v jazyce C nebo C++, aktivní znalost assembleru. Mít osvojené pojmy z oblasti architektury procesorů a pamětí.
|
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 18. 4. 2024, semestry: Z/2021-2, Z/2023-4, L/2019-20, Z/2020-1, L/2021-2, Z/2024-5, Z/2019-20, L/2020-1, L/2023-4, Z,L/2022-3, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: J. Novák, I. Halaška |