Skip to main content
Skip header

C/C++ Application Analysis and Optimization

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code9600-1014/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *Second Cycle
Year of Study *
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
BOH126Ing. Ada Böhm, Ph.D.
Summary
Learning Outcomes of the Course Unit
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
Course Contents
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)

Recommended or Required Reading
Required Reading:
1. Steve McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, Redmond, WA, 2 edition, (2004)
1. Steve McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, Redmond, WA, 2 edition, (2004)
Recommended Reading:
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
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
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Credit and ExaminationCredit and Examination100 (100)51
        CreditCredit 
        ExaminationExamination100 51