9600-1014/02 – C/C++ Application Analysis and Optimization (AOA)
Gurantor department | IT4Innovations | Credits | 4 |
Subject guarantor | Ing. Ada Böhm, Ph.D. | Subject version guarantor | Ing. Marta Jarošová, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory |
Year | 2 | Semester | summer |
| | Study language | English |
Year of introduction | 2016/2017 | Year of cancellation | |
Intended for the faculties | USP, FEI | Intended for study types | Follow-up Master |
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
Lectures
Tutorials
Summary
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
E-learning
Other requirements
No other requirements.
Prerequisities
Subject has no prerequisities.
Co-requisities
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
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.