Techniky implementace a optimalizace algoritmů na reálných počítačích, zejména při zpracování
velkých objemů dat.
Poslední úprava: T_KAM (20.04.2008)
Techniques of implementation and optimization of algorithms on real machines, especially with
respect to processing of large amounts of data.
Podmínky zakončení předmětu
Poslední úprava: Mgr. Martin Mareš, Ph.D. (01.03.2019)
K úspěšnému zakončení předmětu je potřeba získat zápočet a složit zkoušku.
Zápočet se uděluje za získání dostatečného počtu bodů za domácí úkoly. Úkoly spočívají v implementaci vybraných algoritmů, počet bodů závisí na rychlosti programu relativně k referenčnímu řešení cvičících.
Pokud student nezíská dostatečný počet bodů, může je doplnit samostatnou prací na dodatečném úkolu nebo napsáním zápočtového programu odpovídajícího rozsahu. Také je možné získat malé množství bonusových bodů za aktivitu na cvičení.
Literatura
Poslední úprava: T_KAM (22.04.2009)
ISO/IEC standard 9899:1999: Programming Languages -- C The Open Group: The Single UNIX Specification, http://www.unix.org/
Časopisecké články
Požadavky ke zkoušce
Poslední úprava: Mgr. Martin Mareš, Ph.D. (01.03.2019)
Zkouška je ústní s písemnou přípravou. Zkouší se teorie přednesená na přednášce v rozsahu daném podrobným syllabem na webové stránce předmětu.
Sylabus -
Poslední úprava: prof. Mgr. Milan Hladík, Ph.D. (04.05.2015)
Pokročilé partie jazyka C a standardu POSIX a různá jejich rozšíření
Vlastnosti hardware rozhodující pro efektivitu programů (paměťové hierarchie, symetrický multiprocesing, neuniformní architektury)
Paralelní programování na víceprocesorových počítačích
Algoritmy pracující v externí paměti
Cache-oblivious algoritmy
Konkrétní příklady algoritmů různých typů
Samostatná práce studentů
Poslední úprava: prof. Mgr. Milan Hladík, Ph.D. (04.05.2015)
Advanced topics of the C programming language, of the POSIX standard, and their various extensions
Properties of hardware important for efficiency of programs (memory hierarchies, symmetic multiprocessing, non-uniform architectures)