Přeskočit na hlavní obsah
Přeskočit hlavičku

Metody efektivního programování

Typ studia navazující magisterské
Jazyk výuky čeština
Kód 460-4174/01
Zkratka MEP
Název předmětu česky Metody efektivního programování
Název předmětu anglicky Methods of Efficient Programming
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Ing. Petr Olivka, Ph.D.

Osnova předmětu

Osnova přednášek a cvičení:

- Optimalizace kódu a její význam.
- Vliv skokových instrukcí na rychlost vykonávání kódu, profilování.
- Paměťové modely a činnost vyrovnávacích pamětí CPU.
- Uspořádání dat v programech a optimální využití vyrovnávacích paměti.
- Využití celočíselné jednotky CPU pro urychlení vybraných výpočtů.
- Výpočty s velkými čísly v kombinaci jazyka C a strojového kódu.
- Desetinná čísla s pevnou a plovoucí desetinnou tečkou. Převody a výpočty.
- Využití SSE jednotky pro výpočty s čísly s plovoucí desetinnou tečkou.
- CPU jednotky SSE a AVX jejich vyžití jako SIMD.
- Paralelizace na úrovní procesů a vláken, jejich přínos.
- Význam afilace procesů a procesorových jader.
- Optimální komunikace s disky na úrovni OS.

Povinná literatura

[1] Jim Ledin, 2020, Modern Computer Architecture and Organization: Learn x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud servers, Packt Publishing, ISBN-13: 978-1838984397 
[2] Jim Ledin,2022, Modern Computer Architecture and Organization: Learn x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud servers, 2nd Edition, Packt Publishing, ISBN-13, 978-1803238234
[3] Denis Bakhvalov, 2024, Performance Analysis and Tuning on Modern CPUs: Learn to write fast software like a pro, Independently published, ISBN-13: 979-8342846448 
[4] Comer, D. ,2024, Essentials of Computer Architecture (3rd ed.). Chapman and Hall/CRC. https://doi.org/10.1201/9781003410140

Doporučená literatura

[1] Intel, 2025, Intel® 64 and IA-32 Architectures Software Developer’s Manual,https://cdrdv2.intel.com/v1/dl/getContent/671200
[2] Stevens, W. Richard, Rago, Stephen A., 2013, Advanced Programming in the UNIX Environment, 3rd Ed., Addison-Wesley Professional, ISBN-13: 978-0321637734