- Vztah mezi výkonem software a moderními programovacími jazyky a metodologiemi
- Architektury současných procesorů a jejich vliv na výkon
- Schopnosti a limity optimalizace překladačem
- Měření a ladění výkonu, profilery
- Vektorové instrukce a jejich použití v C++
- Paměťová hierarchie a její typické vlastnosti u dnešních výpočetních systémů
- Cache-aware a cache-oblivious algoritmy
- Výkonově významné úlohy lineární algebry a zpracování dat
Tato přednáška se nezabývá paralelním programováním - viz NPRG042 Programování v paralelním prostředí.
Kurz programování se zaměřením na výpočetní výkon.
Vlastnosti moderních procesorů a paměťové hierarchie.
Schopnosti a limity optimalizace překladačem, automatická a manuální vektorizace.
Efektivní implementace základních algoritmů lineární algebry a zpracování dat.
Pro absolvování předmětu je nezbytná znalost v rozsahu předmětu NPRG041 - Programování v C++!