Techniques of implementation and optimization of algorithms on real machines, especially with
respect to processing of large amounts of data.
Last update: T_KAM (22.04.2009)
Techniky implementace a optimalizace algoritmů na reálných počítačích, zejména při zpracování
velkých objemů dat.
Course completion requirements - Czech
Last update: 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í.
Literature - Czech
Last update: 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
Requirements to the exam - Czech
Last update: 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.
Syllabus -
Last update: 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)
Parallel programming on multi-processor machines
Algorithms working with external memory
Cache-oblivious algorithms
Concrete examples of algorithms of various kinds
Individual work of students
Last update: 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