9600-1014/01 – C/C++ Application Analysis and Optimization (AOA)

Gurantor departmentIT4InnovationsCredits4
Subject guarantorIng. Stanislav Böhm, Ph.D.Subject version guarantorIng. Marta Jarošová, Ph.D.
Study levelundergraduate or graduate
Study languageCzech
Year of introduction2016/2017Year of cancellation
Intended for the facultiesFEI, USPIntended for study typesFollow-up Master
Instruction secured by
LoginNameTuitorTeacher giving lectures
BOH126 Ing. Stanislav Böhm, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+2

Subject aims expressed by acquired skills and competences

Upon the successful completion of the course, students will be able to: • Analyze C/C++ programs, find the cause of errors or performance problems • Propose proper optimization methods for computational programs • Actively use the existing tools for debugging and profiling sequential as well as parallel applications

Teaching methods



Compulsory literature:

1. Steve McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, Redmond, WA, 2 edition, (2004)

Recommended literature:

1. Intel® 64 and IA-32 Architectures Optimization Reference Manual, http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html 2. Software Optimization Guide for AMD Family 16h Processors, AMD, http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/SOG_16h_52128_PUB_Rev1_1.pdf

Way of continuous check of knowledge in the course of semester

project development


Další požadavky na studenta

No other requirements.


Subject has no prerequisities.


Subject has no co-requisities.

Subject syllabus:

1. Debugging of Sequential Applications (use of interactive and non-interactive debugging tools, procedures in case of hard-to-find errors) 2. Profiling of Sequential Applications (use of profiling tools, analysis of performance problems) 3. Optimization of Sequential Applications (performance analysis of basic program constructions, summary of optimizations performed by a compiler, optimization of the memory access, special instruction sets) 4. Debugging of Parallel Applications (use of debugging tools in the parallel environment, procedures in case of hard-to-find errors) 5. Profiling and Tracing of Parallel Applications (use of profiling and tracing tools in MPI and threads, analysis of performance problems occurring in parallel processing) 6. Optimization of Parallel Applications (performance analysis of constructions in parallel programs, optimization methods in programs with MPI and threads, lock-free data structures)

Conditions for subject completion

Conditions for completion are defined only for particular subject version and form of study

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2019/2020 (N0541A170007) Computational and Applied Mathematics (S02) Computational Methods and HPC P Czech Ostrava Optional study plan
2018/2019 (N2658) Computational Sciences (2612T078) Computational Sciences P Czech Ostrava 2 Choice-compulsory study plan
2017/2018 (N2658) Computational Sciences (2612T078) Computational Sciences P Czech Ostrava 2 Choice-compulsory study plan
2016/2017 (N2658) Computational Sciences (2612T078) Computational Sciences P Czech Ostrava 2 Choice-compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner