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 graduateRequirementOptional
YearSemestersummer
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
Combined Credit and Examination 5+5

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

Další požadavky na studenta

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

Full-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit  
        Examination Examination 100  51
Mandatory attendence parzicipation: Attendance on exercises. Elaboration of a project.

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2019/2020 (N0541A170007) Computational and Applied Mathematics (S01) Applied Mathematics P Czech Ostrava Optional study plan
2019/2020 (N0541A170007) Computational and Applied Mathematics (S02) Computational Methods and HPC P Czech Ostrava Optional study plan
2019/2020 (N0541A170007) Computational and Applied Mathematics (S01) Applied Mathematics K Czech Ostrava Optional study plan
2019/2020 (N0541A170007) Computational and Applied Mathematics (S02) Computational Methods and HPC K 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